Packages (sometimes called namespaces) are used to give a separate identity (name) to a group of classes. (Note: Packages are primarily used in Java and Actionscript.) For example, you are writing a fishing program and a finance program. Both programs use a Bank class but for entirely different reasons. To allow you to use the name "class Bank" for both distinct objects, you can place the first class in the Fish(.Bank) package and the second in the Finance(.Bank) package.
A Package is just a way of making sure all the names you choose to use in your program don't "step on the toes" of names someone else might use in their program. This is especially a problem in large software systems where you are using "libraries" (sets of pre-written code).
In the end, Packages are just a shortcut for naming things... you could name all of your classes: jims_star, jims_bank, jims_this, jims_that... but that would be tedious. Instead, at the very top of a file, we place a package declaration (e.g., package Jim) and the computer (behind the scenes) rename everything for us.