Two video files cannot simply be stuck end to end unless their codec, resolution, framerate and timing parameters match exactly. Naive concatenation is where broken duration bars, frozen frames and files that stop after the first clip come from.
Flippy re-encodes each clip onto a common canvas and framerate first, then joins the normalized pieces. That costs one encode pass and buys a file that plays cleanly all the way through, on everything.
All video in means one MP4 out; all audio in means one MP3. Mixing the two kinds is refused on purpose: there is no single honest output for half a movie and half a song.