Because the sky is blue.
T-SQL as a programming language is fairly primitive, and far from all commands accepts variables or expression where you want them to.
If you feel that this is important, submit a suggestion on http://connect.microsoft.com/sqlserver/feedback. Don't hold your breath, though.
[font="Times New Roman"]Erland Sommarskog, SQL Server MVP, www.sommarskog.se[/font]