Kris,
The cheapest 1st class ticket for one person could have paid for three times as many 3rd class passengers (i.e. 3). If Titanic had 300 passengers all booked under the cheapest tickets, that would still be the same as accommodating 900 steerage.
Regarding other sources of income, on board expediture was one of them. The B deck Restaurant raked in quite a bit of pounds, depending on how many passengers were booked. The 3 or 5 pound refund, (one Olympic passenger remarked) was far from sufficient to cover all the meals taken in the restaurant. I can't remember the quote exactly, but I think that would only suffice for one meal. Think of several hundred passengers taking three-meals-a-day in the Restaurant, could amount for a pleasing sum. There were other places such as the pool, turkish baths, gym, drinks, extra food etc. Whilst these would have been small amounts individually (once again depending on the amount of passengers) could amount do decent sums per voyage.
Regards,
Daniel.