My impression, with no basis in actual facts, is that they spend more than they take in. How many zillions of users do they have, and how many of those actually need support from Canonical, especially when they can get varying degrees of support from anyone with Linux knowledge.
Ubuntu Server is becoming more and more popular. While the Red Hat "wait five years between releases" model works for some applications, it is actually not very good for people developing new web-based programs. There is a lot of appreciation for a server-style OS that updates more frequently (semi-annually in Ubuntu's case), and Ubuntu offers contracts (supposedly) comparable to what you would get with RHEL so you can still keep the CYA business guys happy (and get support, I guess, if you need it).