I have heard of many different ways to unpackage a .tar file but it is unclear which ones are "official" (if there is one) and how they are different.

Also, I have noticed that some work on some files but not others.

Can someone explain the difference between different commands and file types (.tar.bz2, .tar.gz...)?