In the case of BA comping my status, they know from my UA statement that I fly paid business class, and about how many times a year I fly. My immediate work group also has quite a few BA golds so this increases the chance that they will get a reasonable amount of revenue from my business.
I live in Seattle so for European travel one airline is not much better than another. I got sick of the old 767s that SAS uses on its non-stop to Copenhagen, so that leaves only a handful of choices. BA must realize that they're likely to get most if not all of my transatlantic flights.
I'm sure that it was not a difficult business decision for them, but it can't hurt that I'm already booked to fly them twice in the next few weeks.