Before we get started, I recommend that you go back and read at least page 6 of the lesson for Chapter 5 again. A simple example of the difference that the Imports statement makes can be found there.
Namespaces are a way to define the classes and other types of information into one hierarchical structure. In other words, they are the way .NET organizes all program code, both code from Microsoft and other vendors and code that you write. Namespaces really accomplish two things:
First, they make it possible to avoid name collisions.
If you were at a big party with hundreds of guests and suddenly there was an announcement, "Attention John! Your car is on fire." How many people would run out of the room? That's a name collision. Since .NET is an open programming environment where you can define classes and use them in other programs; other software vendors can do the same thing; and Microsoft is certainly not finished writing new .NET software - What is the probability that more than one "Move" method will be defined?


