There is always the official Pokémon TCG Online; while you've got to earn most of your cards, it doesn't have to be through investing money. I've got a massive collection on there, and while it has been a sizable time investment, I haven't spent a dime. FYI, that includes four Shaymin-EX (ROS) cards (three regular and one FA), so it isn't like I'm just building budget deck after budget deck.
Obviously, this is nowhere near as convenient as the totally free (and sometimes legally questionable) online programs. They are wonderful for testing out cards you do not have or allowing you to easily replicate your physical deck. The PTCGO can do the latter, but redemption codes just unlock a semi-randomized booster that corresponds to said pack, not one that contains the exact same cards. Of course, if you are already buying physical product first hand (meaning you have redemption codes), I see no reason to not at least dabble in the PTCGO.
Yeah, PTCGO. What I mean is allow me to play TCG for free.