Now as much as I like getting stuff paid for, I have to say that I much prefer the PyCon approach: it makes for a much more interesting experience, and a much richer community. It's hard to explain precisely, but I think it has to do with an overall sense of contributing to rather than taking from the community that makes the egalitarian approach to paying for PyCon. In other words, if you aren't willing to contribute the time needed to prepare a session, maybe PyCon isn't the event for you.
I was used to the "OK, I paid my shekels, now feed my belly and my brain and I'll go home" approach to attending Microsoft conferences. Instead, it's more like "Hi, welcome to PyCon. What cool thing are you going to talk about?" "But... I'm just an ATTENDEE..."
Compared to "industry" conferences, PyCon blurs the lines between attending, speaking, and volunteering. It's just a different way of thinking about a conference, and so it makes sense that the financial model be different as well.
The "speaking" part of contributing content to the community is decoupled in my mind in "community-oriented" conferences such as these. There is far more value, at least to me, in these conferences, than the content of the sessions. It's the entire experience, the opportunity to network with others, that is worth it to me. In fact, this past PyCon, I only attended 2-3 sessions all week, figuring that I could watch the content online later and instead focused on interacting with others who I don't regularly see.
Quite frankly, I would see it as a sign that someone probably shouldn't be presenting to the community if their motivation is to get out of paying the nominal conference fee.
$50k in financial aid divided by the average revenue per person ($300), puts you at around 166 people receiving some form of aid (likely less as some receive airfare/hotel as well). Just dealing with 166 different people, as a volunteer financial aid team, is hard. From what I hear, the financial aid people (person?) are very good to deal with, and they are very fair.
Last fall, the program committee was meeting via IRC for ~1.5 hours a night, several nights a week, for what seemed like forever. There were something like 275 talks submitted, and not only did everyone read nearly all of the talks before the meeting, we then spent time debating and voting on them as a group. Then we cut the list down, re-organized, and did it all again, and kept meeting until the final group was selected. While the big time organizers, the PC chair and conference chair, were busy with all of the other crazy stuff, they were still there in these selection meetings. They could have been dealing with tasks with $50,000 price tags on them, but probably the most important part of the whole thing is the talks, so they sacrificed more of their personal time to join the talk selection group to make sure we were putting together the best conference we could.
All the early bird tickets are allowed to vote on the talk list so that we have a reasonable guarantee that we select talks that the community wants to see and that it's a conference tailored for our attendance. Writing the schedule still remains a multi-night work that requires a lot of flexibility also from the speakers themselves.
Beyond normal reasonable help to people who can't make it, this year we decided to ask for the speaker, who usually pay discounted price, to forego the discount in order to donate to the financial aid fund.
It is stressful and a couple years ago 2 of the organizers had to put down a personal and generous sponsorship to pay a few of the bills that were due. Sometimes the numbers are just not on your side.