One does not have to donate. Many people who attend regularly will contribute monthly and so let the plate pass by without notice. I've never been in a church that has passed the plate twice - that is a bit much.
Unfortunately, in the world, churches have to pay rent or payments on the building, electricity, insurance, paying the pastor if they have one.
In ancient times people took in the traveling "preachers," disciples and the like. They fed them and housed them. As our society has become larger and more spread out, this isn't really possible to spread God's word in an effective manner.
There were churches in ancient times as well, and they did support their churches, temples etc. with donations. In most mainstream Christian churches it is voluntary though so if a person objects to it, they can let it pass.