AWhat you are listing is container formats. There is also the codecs which the video and audio are compressed with, which is more important.
AVI is a decently well reverse-engineered format, however it is fairily limited in features. If it meets your needs it isn't bad.
WMV is an extremely poor format as Microsoft is always liable to change it in incompatible ways. Also it uses closed, completely undocumented, codecs for video and audio.
Good container formats are .ogg ( http://en.wikipedia.org/wiki/Ogg )and .mkv (Matroska http://en.wikipedia.org/wiki/Matroska ) Matroska is highly featurful supporting many audio tracks, many types/tracks of subtitles, etc.
Good video codecs are Theora (completely free to implement) and 2nd, H.264. Both widely supported in popular applications.
Good audio formats are Vorbis, (supported in Firefox, widely used in videogames) and then mp3, (widely supported, but low quality) and then AC3. ("Dolby digital", "AAC")
MP4 is: MPEG container, H.264, AAC
MPEG group tries to get protection money out of you if you implement it.