Some niches are so saturated with sites, its difficult to compete. But on the other hand, a lot of those sites do not offer any real quality information.
I dont know which one is worse:
1 - competing against a company site that spends thousands of dollars on ads.
2 - competing against a spammer site that google ranks well for some reason.
I have seen this lots of times - you build a good quality site, with lots of good information, and the search engines barely rank you. Someone builds a trash site, and they are ranked at the top of the list - go figure that one out.
One thing is for sure, if your going to build a long term project website, you better have plenty of time, and plenty of patience. Either that, or have plenty of money to buy ads.
I've always maintained that, in life, if you work hard and do the right thing, you will eventually rise above, one way or another. I think the same holds true when it comes to online business. Perhaps right now there are trash sites ranking better than your quality site, but eventually it will balance out because that site will drop, or maybe it will be penalized. Anyway, the only thing you can do is work hard and just improve your site constantly.