baggersup says:
BA started charging for seat allocation around 3 years ago I think. First is the only class that doesn't pay, but I stand to be corrected, as I only use CW and CE.
The 3 years ago sounds about correct, but before that it was not possible to select your seat before checkin at all. So now, if you pay a little, you get something extra.
If you pay a lot, and go for a fully flexible fare in any cabin, then you can select your seat when you book for no extra charge. It's all explained if you dig down a bit on BA.COM.