Blanket low speed limits are, in general, not a good idea. From an urban perspective, 20 is fine on residential roads (though a lot of people ignore the limit), but the "main road" should be 30 (or more where appropriate). In rural areas, it can be a bit more difficult. And as always, local circumstances should always be taken into account (which is why I'm not a fan of blanket restrictions in general (not just speed limits)). My preference is for it to be uncomfortable to exceed the limit, because then hardly anyone will.
The A38 through Birmingham is an interesting case study. From M5 junction 4 to Rubery, it's national speed limit, but few people seem to go more than 50. It's certainly "exciting" in my car at GPS 70 (great fun on the few occasions I use that bit), though because it's quite steep uphill from the M5, I usually don't bother wasting fuel accelerating to 70 up the hill.
There's a very short section of 40, then it's 30 all the way until the A38(M). However, the majority of people want to do 40 along here. I believe that, until a couple of years ago, the limit on much of this bit was 40, but the "something must be done" brigade got it reduced to 30 (and would probably love it to be 20, despite that being totally ridiculous). 40 is, in my opinion, an appropriate limit for this section, with a few exceptions, such as the S4* section south of the A4540. The bit through the city centre I wouldn't want to be more than 30 though, as it's exciting enough as it is! The forward visibility if you're in the right hand land of the Queensway tunnel heading north is basically nil... Plenty of people try to do 40 (or more) along here though.
North of the M6, the limit is 40 (at least as far as the A452, I've not been beyond there but I assume it stays the same until Minworth, whereupon it becomes NSL). People generally stick to this (though obviously you get the occasional **** who ignores all speed limits everywhere). If 40 is fine north of the city centre, why not south thereof?
Another thing to bear in mind is that there will always be a minority of people who totally ignore the limit (eg: 70 in a 30 area). Any calls for speed limits to be reduced following (for example) an accident caused by one of these drivers should be refused completely: had the limit been less, the driver would still be ignoring it, and thus there would be no difference in the outcome of whatever accident might have occurred. Case point being a drunk driver doing approaching 100 crashing into a house next to the road near where I live (not in Birmingham), which is in a 50 limit. Plenty of locals were demanding the limit to be reduced, which would have no effect on that particular crash (and would also cause other issues on that stretch of road, but I won't go into that as it's off topic).