I am a teacher, and due to a lack of funding in my school system, fundraising and class fees is what I have to do to help my students. I teach at a technical education school, and a part of my curriculum is tied into the national organization that holds state and national competitions. The money they charge per student for entries, hotels, competitions is a scam to me, but since my curriculum is tied into it, we have to do it. I personally loathe fundraising for the very reasons y'all have brought up. So, I've tried to come up with different things that people would at least be willing to pay for. I will be looking for sponsorships for next year to help with the fundraising.
Personally, I think the issue lies at the central offices of the school systems. They always seem to be getting bigger, and money doesn't seem to be trickling down as much to the teachers and their programs. That's just my opinion, I have no facts/examples to back it up.
ADDENDUM - what do I spend my classes' fundraising and class fees on? National organization membership, certification tests, supplies so students can practice their skills in the classroom, office supplies, new textbooks or computer programs for curriculum, and a little left over for rewards for my higher performing students. If I won the lottery, I'd just use that money to fund my program and stop fundraising altogether. For my mobile robotics competition, we were required to buy the entire competition kit, which included all required parts for the robot, all programming and code software, and license fees to use the software. The total amount was more than $1,500 that thankfully, my central office covered and didn't come out of my program budget. That's just one example of the kind of money I have to spend to fulfill my requirements as a teacher.