Works for some things, but what about the phpBB forum for enthusiasts of some obscure classic car that is run not-for-profit by an enthusiast who pays the hosting bill by running a few banner ads from a company that sells refurbed parts?
People who host these type of sites often give donate options but in most cases the donations would not cover the hosting costs.
Most often, people who host these type of sites do it for free because they want to contribute to the community the site serves.
I honestly do not know why people are surprised by this. People who play sports (say football) have no issue driving kids to matches. People who goes to bars, sometimes buy a friend a beer.
In a internet community of 10-500 people, someone will have the spare 10$ for a domain name, and someone else will have a other spare 10$ for some server space. sometimes, its the same person. Server and domain names are not expensive, and is about the same cost of a few beers. If you spend hundred and hundred of hours on the site, work on the design and add new features to it, spending 20-30$ a month is basically a non-issue (just look at mmorpg players).
The problem arrives when those 200 people turn into 200k people, but then, the economy tend to change. Members fees, donations, t-shirts, and sponsorship tend to be the solutions in those situations. If you have a site for classic cars with 200k daily visitors, I doubt you will have a problem finding a sponsor, even if you have a no-ads policy. Heck, I wouldn't be surprised if a car seller would not happily sponsor such community, and then send some nice profession images of "nice looking cars, just by chance available to be bought".
These sites can quickly start to cost more than the $10 or so and can ramp up to hundreds of $ a month quite easily. Not always something people have lying under their sofa. Many of these sites can have about 10-100x more lurkers than they do active users and also plenty of people who will pop up , ask one question and then be "kthnxbye".
Once you start selling merch , membership fees etc it will suddenly start to feel more like a business and require more effort on the part of the owner which they may well not have time for.
Besides ads for sponsors or popups saying "buy a T shirt!" will be just as annoying as other types of advertising.
People who host these type of sites often give donate options but in most cases the donations would not cover the hosting costs.