I think an important factor that's being ignored regarding Zito's contract is general salary inflation across MLB. (Note: Inflation is not really a proper term to describe MLB players' salaries, but let's just use it here to simplify discussion). While 7/$18 m is a a large committment regardlesss of inflation, MLB salary inflation has averaged about 10% over the past decade. With that in mind, Zito's contract is really worth more around 7/$12m (today's dollars).
Again, with a payroll in the range of $90m (today's dollars), spending 13% of your payroll on a top-of-the rotation starter is a bargain. Most of the negative comments on the site have been regarding the length of the contract and the size of the committment, weighed against the risks of injury and general skill decline with age. However, considering the Giants are in the top 10 of team spending, a seven year comittment at $12m is not a significant risk. On the other hand, if we were the Twins or the A's, the contract would be a huge financial risk.
To put these numbers into more perspective, consider that seven years ago (2000) the Giants total payroll was only $53m. If the Giants (back in 2000) had signed a Zito-type player to a similar contract, we would be looking at something worth $9m/year (today's dollars), which would be a bargain, especially for a player that some (not all) project into a Glavine/Maddux type starter as he ages.
To summarize my point, general payroll inflation actually self-corrects Zito's contract (assuming it's paid in equal payments) for age-decline and increased injury risk. We're not actually paying him $18m a year for the next seven years in terms of financial actual dollars. But rather, $18m/$16m/$15m/$13m/$12m and so on, when total payroll and player inflation is considered. And for someone with consistent career numbers, a healthy history, and enough star power to attract fans to the gate, I don't think it will develop into the disaster that many on the site are predicting.