rpm - Redhat Package Manager - basically, an rpm is a pre-compiled program package. it will usually have everything you need to run a program, and it installs using
rpm -(options here) filename.rpm
and that's it. rpm's are made to just be a really easy install. on the other hand, you've got the .tar.gz files. .tar.gz are files that have been gzipped and tarballed. tarballing (.tar) takes a directory or collection of directories, and jams them all into one file. gzipping (.gz) compresses the file to save space. these files can contain whatever anyone wants to put in them, but typically they'll contain source code. the advantage of source code is that it doesn't need to be compiled specifically for your computer. if you notice on rpm sites, there are a lot of rpm versions for different distros, architectures, ect, and you need to find the one that matches your computer. the downside to source is that you need to compile it yourself. it's not as scary as most people make it seem, but it does take a few extra steps. there's usually a README that will explain what you need to do to compile.