Docking in space is a really hard problem - the physics behind it are quite interesting, really.
Everything has to be carefully planned out, too - because changing altitude is hard (i.e., to control your altitude, you control your speed - the faster you go, the higher up you'll be due to the way gravity etc. work. Of course, go too fast and gravity will let you go...). So now you've accellerated speedwise (god I hate accellerated frames of reference), now you have to catch up with the space station, right? Well, if you want to go faster, you do, but then you gain altitude! You can slow down, and lose altitude simultaneously...
Oh yeah, you're going in a 3D space, so you can wobble around a bit so your paths don't align, I suppose. Plus, all the momentum - anyone remember that arcade game where you shoot bullets at meteors? Same deal...
Thank god for maneuvering thrusters, computers, and what not. It's hard enough to simulate this in 2d (I remember one of our physics simulators... the teacher even loaned us the program so we can practise at home).
Of course, I suppose in "free space" it's a bit easier since you don't care about docking to an orbiting station...