I guess it's all about demand and pricing - I suppose that if seat selection was 'free', then the seat price would be higher. That said, it is poor when Air Canada can do it at the time of booking - in fact they do it before booking. You can see the seat availability before you choose a particular flight and then pick your seat there and then. That was for a trans atlantic flight in PE for exactly the same price as the identical BA flight.