Basically they are the same.
Both are ways of making a .pkm files which are basically pokemon that can be uploaded to the game by using a GTS (global trade station) or action replay or a gamekart (I have never done the last, but want to try some day).
There is an online pokesav that has a built in GTS option, so that is the first one I used and the one I am more familiar with. But I do not use the built in GTS, I save the file and then use pokeGTS. That way if I make a mistake, I can open up the .pkm using pokegen, fix it, and resend it using pokeGTS.