Justin Wong pretty much nailed it in his blogs. If you are keen on playing absolutely competitively, this is how it's done:
1)
Hit the Training Room; Never Give Up Using It.
2)
Bring your conditioned skills to real matches (offline and online, A.I or human, just bring it)
3)
Play in environments outside of your comfort zone
4)
Analyze your successes and failures post-game (preferably with replays)
None of this is actually new. In fact, it's pretty much applicable to any skill you want to learn in life.
Play other players offline and travel to offline tournaments. You're in Cali right? There are scenes in SoCal and NorCal. You have it better than most of the country.
Playing against the computer is not going to get you very far. Playing online is horrid, and has caused almost every "top" player in the community to develop bad habits (as of NEC), but I'd say it's better than playing the AI.
Lemme just say that I agree that offline is the most optimum way to improve, and going to tournaments is the fastest way to become pro (I personally once spent five hours getting bodied in a Street Fighter casuals session, and have since improved drastically). However, I've noticed across forums that some people take it too far, as if it's offline or nothing, even so much as simply upping your game. So I'm going to make a small apology for playing against A.I and playing online.
I'd say playing against the computer can have some benefits. It's obviously inhuman, and it's obviously too calculated. However, if you've ever played chess against an A.I (and I mean the proper stuff, not that derp A.I you get with your computer's stock chess), it'll put the hurt in every one of your flawed moves, ending up in a very frustrating loss most of the time (you have to use cheap tactics to win against it, like any fighting game).
Likewise, good fighting game A.I should help you learn to cover some flaws, even if it's something as simple as the basic opening moves. You might, for example, always open with what you perceive to be at least great blockstrings/pressure, only for the A.I to know exactly which move to counter strike/hold with. I find the A.I helps with getting a feel for the frames on your move set. Like chess though, best to not rely on developing actual strategy with the A.I
Online also can be good to an extent, and I'll use another analogy: any one of you guys can learn to play drums on the cheap right now. Just buy a pair of drum sticks, or find wooden chop sticks, grab old telephone books, and arrange them like a kit. Now start practicing real drum techniques. That's how I learned when I could not afford a drum kit. Yes, you may develop some bad habits, but you also gain some very good habits. Hell, play on nothing but phone directories for two years with drum sticks, and it'll only take 10 minutes for you to start playing on real drums like a pro even if you've never touched a kit before.
Even the best players started from these humble roots, and even continue in some respects: Justin Wong in his Step Up Your Game column described how he initially played against the computer on the hardest difficulty to improve himself, and now he's got a career in professional gaming. Perfect Legend apparently plays Mortal Kombat on a laggy connection at home, which hasn't stopped him from winning Evo twice in a row.
Essentially, train in whatever way you can, being cautious of how it might evolve your game. But remember to stop training every now and then and actually play the game like it should be played: offline against other players.