From this slide it seems that code used for a supercomputer has to be specifically designed for that machine. Since supercomputers use a lot of different message passing or communication methods, the code has to be properly designed to use all of those techniques. Additionally, I am guessing that a lot of tuning has to be done to make sure that the different communication methods are done efficiently.
It seems that in order to have a supercomputer run a program as optimally as possible, lots of things have to be taken into consideration. The program has to be written specifically for the super computer, taking into account the computer's hardware in order to get the most optimization. This means that a program written for a supercomputer may compute an insanely large amount of things, but it would be difficult to port that algorithm over to a non-supercomputer. I guess supercomputers exist to run huge programs in a reasonable amount of time, and no other computers would be able to ever run such programs.