I read about a lot of people who ranked their site without building a single link. Does posting great content or building a great site can get you ranked higher? What if I'm in a competitive niche, do I need to build links? Or should I post my content to Social Media and wait for links to be built?

Some time ago, Google has announced that you don't have to put links in order to rank your website higher.
Externals links are hyperlinks which takes user to some other linked page. But according to stats 99.2% website uses at least one External link for their website. So i Would suggest you to put atleast one hyperlink/External Link.
There is a difference between Correlation and Causation.

Happy to help...:)

I don't prefer to wait... and be dependent only on social media. There are other legit (Spam free) ways to promote your great content. If your content is great then further promotion will be done automatically but atleast you should start first and spread it to some extent.

Social Media is great option but there are other option too. Spend some time on that resources too.

Link building still matters a lot. Infact Google never say Link building is not important - Google just say that linked building through spamming activities is now not important as there algrithm are enough smart to detect such spam now.

Content Management and its Promotion is equally important. "Content is King" but there are many article with great content with very less views just because of lack of proper promotion.

With these promotion your site view increases and google detect more visits on your site(Here less bounce rate and time spent on page matters) which ultimately results in high ranking for your article.

You can increase your ranking without bulding backlinks but then it will take long time and patience. Moreover if you are not building back links then your strategy of promotion must be good enough or in other words you must use other on page and off page activities.