Dumb question but, why an exploit behaives so different among different systems?
This is an example, and doesn't quite apply to the Wii U, but it follows the same basics. This is hardly 100% accurate, and probably some wrong stuff, but it should give you an idea of why things can be so different between the same hardware, and different hardware systems.
Say we have the same computer, but the difference for me is the size of my paging file. A paging file is where anything over your maximum amount of RAM is stored, and then basically swapped out as needed from hard drive to ram and vice-versa with what it's replacing if it still needs that information later.
So, we load the same webpage, with the same browser, both using 500MB over our RAM size, but running different programs in the background. The location of some things may change from where they are on yours, on mine even in a somewhat controlled environment like the Wii U. This is where addresses and sophisticated programming come in. Sometimes a driver or program looks for data/code in a specific location. To do this, sometimes they find the "begining" address, and calculate the new function/data address from there.
So just from that, you can see how two people loading the same thing can be completely different. On a Wii U this could be something the processor does, something the way each console receives packets, slight differences in other hardware (not all hardware is 100% the same, they usually "tuned" to be the "same"). There are a lot of variables that can make an exploit work for you, not work for anyone else, or even not work a second time you try it yourself. Part of this can be seen with the osdriver exploit already. For me, a lower wait time in the osdriver exploit works better for me, and the wait was added because it supposedly helps things.