The point is that phone numbers aren't just an 11 digit string processed by a database lookup. The digits are processed and interpreted sequentially. For example, (01202) 391234 isn't interpreted in one go: 01202 39 would be enough to route to BT's exchange in Boscombe, where further processing on the rest of the number takes place.
When you start dialling on a landline, the first digit has a special significance and tells the system what to do next:
0 means "this is going to be an area code or international call"
1 means "this will be a short code, like the operator on 100"
2,3,4,5,6,7,8 or 9 means "this will be a local call"
In Bournemouth, you could dial (01202) 234567 as just "234567". As you've started with a "2", the system can easily spot it's a local number and knows to expect 5 more digitis. Remember, there's no "send" or "call" button on a normal landline so the system needs such information to know what length number to expect to identify when you have finished dialling.
Now imagine the number (01202) 020722 is issued. If you dialled 020722 locally, that leading 0 suggests to the system you're making a long distance call and it would just sit there forever waiting for you to dial the next 5 digits.
Likewise, what about (01202) 123456? If you dialled that as simply 123456, you'd be connected to the speaking clock as soon as you'd got as far as dialing "123".
Requiring the area code removes those kinds of clashes.
Of course, it's still a big bodge job. Odds are this will only see us through a few more years before they have to find more numbers for Bournemouth, Brighton, MK, etc. I guess Ofcom would rather dodge the bad press of a futureproof number change and leave somebody else to sort out the inevitable mess ten years down the road!