Leading up to the first fight against Shao Khan you have to do dozens of fights against other computer controlled characters.
In each of those fights the computer expects you to use fancy moves like throwing lighting or other magic shit, so all its defenses are based around that. What that means is that if you just go for pure physical attacks your odds of winning those fights goes up by quite a lot.
What this does is train you to be really, really good at physical attacks, but you don't end up bothering to learn the special attacks and if you do happen to learn one or two your skills at them atrophy.
Then, when you do get to Shao Khan you find he's completely immune to physical attacks and can only be hurt by Liu Kang's special magic fireball attack - which you would have no reason on earth to have learned up to this point. So, you have to pause out of story mode and go into the practice mode and spend a bunch of time learning it.
I have no problem with needing special moves to beat a big boss - but most video games would have set up previous encounters with other minor characters that would have encouraged you to use those moves. Making you have to use a move that you'd never use against any other character (because they'd all block it easily) seems like kind of a cheat.
I mean, seriously, what is the point of setting up a system that makes you really skilled at the types of attacks that one of the big bad guys can't be hurt by in any way, shape or form?