Compromises are made in everything. Look a little harder and you can find "top" DSLRs with many, many more pixels. Hasselblad H6D-100c has 100 MP, for example.
But looking at only megapixels gives you a very incomplete picture of what the camera can do. Directly tied to resolution is throughput: shooting a 20 megapixel image at 16 frames per second = 320 MP of data per second. (The 1D X mark II shoots that fast! Does your phone?)
Look at other cameras, too: just a few years ago (2013) Nikon's D800 had the crown for "full frame" megapixel count, at 36 MP. Awesome, but limited to 4 frames per second, or 144 MP of data per second. So, wow, the 1D X is handling roughly 2.5 times more data!
Also, review the math: to double resolution you need four times as many megapixels. That means the Hasselblad (with an additional 80 MP over the Canon) has just a little more than double the resolution of the 1D X. And despite an additional 16 MP over the Canon, the D800 has just 1.3x more pixels than than the 1D X. Not much of a difference, except when you need it!