That's a fair opinion. I could never imagine contracting someone to put content on my website, then making my end users pay to even see that content just so I can ensure I can pay my writers, knowing it drives most traffic away. An ethical and intelligent website host would ensure more consistent and effective ways of bringing in income, which is their responsibility.
We live in a digital age where most of everything on the internet is free. Putting your site behind a paywall is a surefire way to ensure your website will receive less traffic in this day and age, but to each to their own.
Tons of ways, the most common is ads and partner affiliates.
That's not the responsibility of the end user. That's the responsibility of the host. If you're going to have people write your articles, pay them.
Years? Yeah that'll be the end of this year, at most.