roco and sanred have given two well thought out posts so I'll try and keep it short.
I don't like using my feet to come down the track so it's really important that I am able to judge the length of the delivery. If you go forward, then you have to be really forward and get on top of the ball and smother it before it has a chance to spin.
If you don't go forward then you have to get all the way back and give yourself enough time to see just how much the ball has spun and bounced. As
@roco said, you'd be surprised at how you can turn what seems like a good length into a short long-hop by utilising the depth of your crease effectively.
Spinners will get you out when you get stuck in between and that's when you nick one behind or get trapped LBW. The next time you're in the nets try and focus on picking the length as early as you can, it'll force you to watch the ball and will help you identify any variations out of the hand.
Don't ask me about shots though, mine are go back over the bowler's head if he gives it too much flight and reverse sweep everything else!
EDIT: Didn't realise someone had said the same thing while I was typing that up. This is what happens when I procrastinate and open up half a dozen other tabs in the middle of writing a reply.
Playing spin is all about judgement (I am a spinner myself so this is coming from a bowling point of view. The key is having quick footwork and being able to judge the length early. If its full get right forward and smother the spin then has you grow in confidence you can develop the forward defence into a drive maintaining a big stride forward and keeping your head right over the top of the ball.
Couldn't agree more.