I hang 3-15 doors a day depending on the state of the lining and the type of door (fire check etc). When i'm changing existing doors for people I have to make the door fit the frame not the other way round. Whoever swung your door by the way should be ashamed of themselves!! This may sound like grief but it's the only way to get an equal margin all the way round the door without ripping the frame out. As long as you're ok with an electric plane you'll be fine ;-)
From the pictures it looks like the problems are this:
1. Door doesn't close because lock side of frame has a beer belly! its ok top and bottom, but fat in the middle
2. Even if door did close, latch wouldn't locate because the keep is too high.
3. Gap along the top of the door is uneven, either the frame is out of level or the door has been butchered.
4. Gap along the carpet is uneven too!
(this may not be true, might just look like it as the door is slightly open..)
One good thing is the hinge side looks really tight which means you've got a little room for manouvre.
There are two ways to tackle this depending on what length you want to go to. Personally, if it was my house i'd want minimum redecoration, So removing the casing in order to remove shims from behind the belly to straighten lock side of the frame would be a last resort.
Heres how i'd deal with it and in the right order:
1: Fix the uneven gap at the top. How?
If the gap is say, for example 1/4" on the hinge side, cut a small piece of wood at 1/4". Run this along the top of the frame with a pencil to scribe a line 1/4" down onto the top of the door. You now have the shape of the lining marked along the top of the door. With an electric plane sort the top of the door out. (Don't panic this wont mean the door has to move up 1/4", only an 1/8" because you need to leave a gap above it.)
2: Lift the door.
Put the door back in the frame, lift it up so there's an even gap and mark the new hinge positions (on the frame). Chop a little out above each hinge and screw the door back on. Now the top is sweet.
3. Scribe the lock side.
Go to the other side of the door and pull it shut. Use the same method as for the top to scribe the shape of the frame onto the door. Remove the door and latch and plane it to the right shape, so the door now has the shape of the belly cut out of it.
4. Refit the door and pack hinges over.
Screw the door back on and put shims behind the hinges to even out the gap either side of the door.
5. Sort the keep out.
Re-mark and fit the keep to the frame so the latch locates.
Using 'two part' filler (a filler that comes with an activator and goes off really hard) fill the gaps under the hinges and the keep. That and the door edges are the only painting that will need to be touched up.
You could use the scribing method for the top of the door for the bottom which looks uneven as well but you're got a big enough gap under it already. You decide..
Sounds like a lot but you could do all that in an hour.
If you need help marking the hinges or making the latch work perfectly go to