I read a lot of answers and articles to try to understand it. Thankfully, it was @chytrik's answer that clicked for me.
Going to post my understanding here.
Just for this discussion, say there are 1200 possible hashes. The fastest (also the dishonest one) miner produces 60 hashes per second. Say the others are at 20 hashes per second. Further, let's assume there are a total of 11 miners (including the dishonest/fastest one) in the network.
The dishonest miner working on a secret sidechain alone would need 20 (1200/60) seconds to try out all possible hashes.
OTOH, the rest of the honest network is trying 200 (20*10) hashes per second. So, they would need only 6 seconds (1200/200) to try out all hashes.
[Sidenote] This is an oversimplified assumption though because not all of these hashes will be unique. BUT, not all of them would be identical either because one of the parameters (for generating hashes) is timestamp.
And timestamps can and will be unique for a number of nodes, because
a) not all miners start mining at the exact same moment
b) timestamps are picked from the users' machines and can be changed
c) in the real world, miners will have separate hashrate which means they will be trying the same nonce at different timestamps, resulting in different hashes.
So, even if all 200 hashes are not unique, many of them will still be unique, and hence even if the number of unique hashes produced by all the miners (even though working independently) might not be 200 (in the above example), they would still be much much more than the lone dishonest miner.
[/Sidenote]
In other words, the chances of one of the hashes produced by the honest miners being the right one are much higher than that of the dishonest miner being right.
For the dishonest miner to try out all the hashes before the rest of the network, they would have to produce more than 200 hashes per second i.e. (<= 200 + x) hashes/sec . With the upgrade in the capacity of the dishonest miner, the collective capacity of the network is 200 (from the 10 honest miners) + (200 + x) from the dishonest miner = 400 + x
50 percent of the network power = (400 + x)/2 = 200 + (x/2)
And dishonest miner's hashing power = 200 + x > 200 + x/2
Hence, the term 51% attack