The problem with free agency is that you are inherently going into it knowing that you will have to pay a player more than he is worth. This is especially true at the top, then less so the further down you get, where you can find bargains. Unrestricted free agents, especially the best ones are able to take advantage of basic economical supply and demand. Very high skilled free agents are low in supply and high in demand so they are able to often get ridiculously high deals, like Mario Williams did last year. Of course there may be less of a demand or more of a demand at a position in a given year, which also affects the market.
Even with less skilled free agents, you've still got 32 different opinions of you and all it takes is one to get overpayed, enter Erik Walden.
So it's typically to the team's benefit to extend guys before they hit free agency, where you can at least offer financial security in exchange for a lesser deal, like we did with TJ Lang. This is why Colledge got more money from the Cardinals than we had to give Lang. It certainly isn't Colledge being better than Lang.
I do think it's okay to play the free agency game, because the alternative is that you have to be nearly perfect on your drafting and scouting and who you give extensions to, and that just isn't realistic. You have to overpay once in awhile, just like when you overpay in fantasy football in a trade because you have 4 starting running backs and are leaving too many points on your bench every week but you desperately need a WR.
You just have to be smart about how you do it, pick and choose your spots, and don't just make moves for the sake of doing so. Steven Jackson and Greg Jennings had 12 million and 48 million reasons to sign elsewhere, and it would have been financially foolish for our franchise to give them more reasons than that to come. Be patient -- free agency is not over.