How was this slow motion effect created? what programs can do this?
There are methods to generate frames in between frames, mostly giving you mixed results.

For one, the plugin "twixtor" (~330$) actually does a somewhat decent job at assuming missing frames, so much so, that a 30fps video can be played back at half the speed, making it look like 60fps slow-mo.

On the other hand side, you can sample the frames directly in premiere for example. I wouldn't recommend it however, as the results don't usually live up to the expectations.