You can sometimes get something (an upgrade) for nothing, but it’s not that common.
Recently travelling to the States on BA miles in J, my daughter and I were upgraded to F, but my wife and son – on a separate BA miles booking – were not, so the family were split. I’m the Silver card holder, the rest are Blue.
I’m not complaining – I let my wife and daughter take the upgrade and I am still living off the brownie points earned, particularly as it was my birthday on the day of travel! Apparently, all the travellers in F were upgrades on that day.
There is no God given right to an upgrade even when other members of the party have been upgraded. It’s nice when it happens, but I don’t think that the quality difference between J and F is worth paying the price difference to ensure we travel F.
And the reason I choose BA over other airlines is that it does feel like coming home when boarding a BA plane. It’s the cabin crew who make the difference. Every airline has good and bad staff, but BA have far more of the genuine and good staff than other airlines.