It would update existing apps during a sync when something else was going to the phone (like music or videos), but if no other sync was occurring apps wouldn't update.
I couldn't tweak any of the settings that limit which apps went to that iPhone.
Our other iPhone was fine.
The answer was here: Apple - Support - Discussions - "Sync Applications" grayed out in iTunes ...
I'd enabled 'Restrictions' on this particular phone, which is now used as an iTouch. I was trying to keep the kids out of trouble. I bet I'd restricted application installation.
Removing restrictions fixed the problem.
This may not be so much a bug as a usability problem. I think iTunes should display a message in addition to graying out the Applications tab.
Update 5/16/09: This really is a usability issue. It happened again, and it puzzled me again. OK, so it's a dementia issue too. Fortunately I have my external memory to search (my blogs).
Update 8/3/09: I just installed iPhone 3.01 and noticed the Disable Restrictions menu has an "installing apps" control. I think that's new in 3.0, maybe even new in 3.01. Glad to see this problem taken care of!