On the chance you're not trolling, different types of data are easier/harder to compress. Text is fantastically easy to compress, as the file is largely the same content over and over again. Make a text file, fill it with a million zeroes and then zip it, it'll be tiny compared to the uncompressed text file. The zip algorithm can see that it's just the same data over and over again, so it can essentially "say" in the archive, instead of "111111111111111111111111111111111111111111111~~" etc as the original file is, "1 x a million times".
Video, audio, and graphics (graphics sometimes, a 1600x1200 single single color image follows the text example above) are harder to compress as they're usually unique throughout. Modern video, audio and graphics formats are already compressed formats, and keep in mind that in most cases they're lossy (you lose detail /data during compression). huffYUV, FLAC and PNG are examples of lossless, WMV, MP3 and JPG are their lossy counterparts. A 128kbps MP3 ripped from CD won't give you the same audio data as the original track. When you talk about file compression, you want it lossless. You want the file to come out that you put in, so this further hampers the compression effectiveness. Lossless formats for audio exist (FLAC, generally would be 60-30% smaller than the raw uncompressed (.wav for example) audio) as well as for video but they're gigantic.
To help with long upload/download times for your videos either re-encode them with more aggressive lossy compression, or try to be patient. Keep in mind re-encoding something that's already been encoded with a lossy codec would result in an even worse quality file, but sometimes you gotta do what you gotta do =o
SUPER (Google for eRightSoft SUPER) or Mediacoder (on sourceforge) are both good media compression tools. H.264 video with AAC audio in an OGM/MKV/MP4 container would be most efficient.