Crypto's a new frontier, but supply and demand determine price- same as with anything else.
Of course, demand for crypto's super volatile and often irrational.
Price and market cap don't tell the whole story. Looking at depth charts (how much supply and demand exist across different prices) on exchanges is pretty illuminating. For instance, a low key altcoin with a market cap (price/coin X number of coins) of $1,000,000 might see its value drop 25% after one big holder tries dumping just $10,000 because not many people want to buy.
As for what causes these swings... algo trading, pump and dump manipulation, consolidated ownership among a couple of whales, mass hysteria... barring some major news story it's usually hard to say.