My local course is publicly owned by the county, but pay to play. It's $3 for 24 hours, or $25 for a one year pass. The money covers the fuel that it takes to run the tractor that mows the course, so that I don't have to wade around in the wild trying to find my disc in the middle of an open field. The guys that run the tractor are all volunteers. Is it worth it to me? Absolutely. There are no tee times required.
If I want to play for free, I only need to jump in the car and drive to one of the other local course...it's not as if anyone is FORCED to pay to play. There are always options.
As for the big PRIVATELY OWNED courses, some of which DO require fees and tee times, you have to remember that those courses are privately developed, and personal courses, usually on private property. This means things like mowing, maintenance and property taxes, not to mention the cost of tees/signs/baskets. I think it's completely reasonable to charge a nominal fee, and I LOVE the idea of tee times, on certain courses. Walking out for a round and not having to worry about being rushed, or chasing someone down, or worrying about flying discs...makes for a very relaxed, liberating round. Like others have said, it DOES vary with the quality of the course, but forking over $5 or less to play someone's course is well worth it to me. If it's a really banging, awesome course, I wouldn't consider $10 unreasonable, but at that point, I've already read reviews and determined if it's worth it.
Also, you made the comparison to ball golf, which I think is apples v. oranges. I'm not sure where you played, but here, I can't get a tee time for less than $50/person (I live in a retirement community with 7 golf courses, most of which are ranked and professionally designed.) Also, I'm required to have special shoes, and collared shirts, and a belt, and my shirt must be tucked in, and I can't swear, and I can't wear jeans, etc etc etc. Such a hassle.
As a side note, if it's a local course you are complaining about, take the time to meet the guy that runs the place. We have a local, private pay to play here, and none of the guys I know actually pay, because they don't have to. They are always out helping the owner maintain, and fixing storm damage, and moving cages, etc. Go out, pay the man to play his course, and then stick around and give him your number in case he needs help.
Sorry if this post is kind of messy and unorganized...hopefully it all makes sense.