Not much experience with BA lately, but with many other airlines I've often seen the seatmap to show the cabin to be full (or close to) months before departure, but then when it comes to check-in there a numerous seats now free.
I imagine this is because the airline holds back a number of seats from selection until check-in. Why? I don't actually know, but I guess it would be to save them for high level frequent flyers that might book their flight last minute.