Short answer: supply and demand
Slightly longer answer: The price of a certain cryptocurrency on a certain exchange is set by the latest buy or sell offer that has been executed on an exchange. As for the prices you see on CoinMarketCap, it's the average price of that certain asset on all the listed exchanges.
Bitcoin has limited supply of 21 million coins,
These are some of the best answers to your question @OP and it won't be wrong either to put it to you that, you do set the price if bitcoin. Its not some abstract thing but, each time you hodl or sell a coin, you create some sort of value for that coin because, your either flooding the market with it or ensuring its limited supply where as, its scarcity and that's how the law of demand and supply works.
Bitcoin is limited in its supply to what is stated above but then, not all are in circulation yet and should it be that, the last bitcoin minded someday, not all of it would be ready for sales in the market and as such, the price continues to be determined by this actions of crypto enthusiast.