Learning to walk instead of run is extremely difficult in the heat of battle (I would actually love it if I could assign one of my buttons to "suppress dash", but I guess that's a pipe-dream) but is useful for being able to respond a bit quicker, but you could get into the habit of always breaking a dash with a jump or shield I guess. eight_sixtyfour is kinda right when he says don't focus too much on running/walking though, because its not walking per se that gives you the advantage, its that running sort of closes of options for you, and defensive play is all about maintaining as many options as possible so that the one you want is available when you need it. Sometimes you need to run though, since how else would you chase a FCSB into a dashgrab-Dthrow-backteleport-uptaunt for the lulz?
As for knowing the right time to rush in, its all intuition. Some moves for some chars have long startup which can be exploited (I have got a grab on D3 when he is in the process of bringing the hammer down - hilarius) but others have more endlag. Even if I could provide you with a list of all the moves and when to punish each one, it wouldn't help - because its got to be instinctive. practice spacing and timing against CPU level 8/9, focusing on one opposing character at a time, until you find your timings for that matchup.
Most difficult thing is changing your mentality from rushdown to patient. Your fingers will get itchy. IGNORE THE ITCHYNESS. if you feel yourself getting a bit rushy, breathe out, SH back, let off a shadowball, breathe in, and when they approach, breathe out, and ftilt/utilt as appropriate, keep breathing. 90% of patient play is watching, waiting and breathing. When you have learned to watch and wait, you will start to see the gaps that you can flow into.