Each channel is centered on a different frequency. However, broadcasts on a given channel are detectable on frequencies above and below those. So, broadcasts on channel 6 can also be heard on channels 5 and 7. Overall, this effect extends about 2 channels each way and channels 1, 6, and 11 are considered nonoverlapping for this reason.
In order to have clear communications between wireless devices, there should be no other wireless devices on the same channel or overlapping channels. So, if you have a neighbor whose access point is on channel 6 (that's usually default out of the box), you may experience better results if you use channels 1 and 11. The problem is seeing what channels are in use. I do not think that Windows XP has a built-in program for that, but there are such programs available elsewhere. You would need something that sees both wireless devices that broadcast their SSIDs and wireless devices that do not. Then, you would put your network on a channel that is not in use by any device whose signal comes in strong. The channel is configured on the access point.
A given access point generally only operates on one channel. All devices connected to it share the same bandwidth. Thus, things get slower the more devices use the same access point. Given that you do not want to use the same channel on access points that are close to each other, if you want to lessen the bandwidth problem, you could add a second access point on a nonoverlapping channel.
Finally, you could have the network set up perfectly, but many other devices operate at 2.4GHz (e.g., cordless phones, microwave ovens, garage door openers, etc.). Their use can interfere with devices operating on all channels.
-Yves