Short answer: Yes, it is hard and expensive.
Longer answer: It can be done without spending any money, but it will require hard work.
If you're smart about it, you can make plenty of money without spending a dime. But it will require a lot of work and effort to write fantastic well-researched content. And you will have to do it for many months before seeing any traffic or results.
But once Google will give you traction, you will start seeing an increase in ranking and traffic.
There are many ways to monetize a site, not just affiliate marketing. Like native ads, email leads, sponsorships, etc.
Also, if affiliate marketing is what you want to do, you can do it without a website as well. All you need to do is capitalize Social Media, like Facebook, Twitter, Pinterest, Reddit, Linkedin, etc. You just have to find the right offer for the right audience and find a way to convince them to go to your suggested website (affiliate link).