Speaking from experience, COMPETITION is the general problem with getting traffic to a new web site. For practically any topic, there are thousands of other web sites out there on the same topic. You can have great content, great SEO, and a great design -- and still not get traffic simply because there are so many other similar sites competing with you.
You can pay to get traffic from Google, Facebook, Youtube and others, but for most topics, the price is high. Even then, you are not guaranteed to get the traffic you want.