In-game trading was disabled because it's the only way to prevent people from duping items.
Remember that old dupe bug from a few months back where you would open the same trade with somebody both in-game and in Steam, and complete them both at the same time for double items? That bug was never fixed. The only "fix" Valve had was to monitor for it (very easy for them to catch), and then trade-ban people they caught doing it, and wipe their backpacks.
The reason the bug exists in the first place is because TF2 trade and Steam trade are on two completely different networks. Because they're two separate networks, there is an inherent latency between them when updating backpacks. There's no way around that, unless Steam would be able to detect if TF2 had an open trade, and would prevent any Steam trades from happening (or vise versa). Either way, it's a HUGE project that Valve needs to take on, and isn't a simple quick fix.
The only solution was to disable one of the trade networks. The easiest one was in-game, since it was limited as it is (only 8 items per trade), and was already causing problems as it is where it would randomly not update a user's Steam Inventory until they quit and relaunched the game.
What will probably end up happening is Valve will fix TF2 trading so that it utilizes Steam's trade network instead of its current one. This would mean that you can have a trade open in TF2, but Steam would be able to detect it, and prevent any additional trades from being opened up by either user, until the trade is complete.
Really, this is the only way they could fix the dupe bug. So really, this is best for the TF2 economy, since now we'll see less and less extra buds and unusuals magically appearing into the market.