Contracts can easily have bugs. That shouldn't be too hard to imagine. You could easily have a postcondition "ensure item[index] == 123" when "index" is out of bounds, or when you meant to write "0x123", or when the array is actually called "items".
The fact that contracts can have bugs doesn't negate their value any more than the same fact about software negates software's value.
I picked up a very nice looking 21" 1600x1200 CRT for free. Spending $1 on a display with fewer lines of resolution would be crazy.
Uh... unless you care about something other than resolution. Like desk space, or weight, or power consumption.
I know I find it increasingly frustrating to contribute because whatever you add, there's always someone waiting to revert it immediately without any attempt at compromise or discussion.
I also have to say that I think people will find it humourous 50 years from now when they look back at comments from 2009 about how there's not much new stuff to add. That's a bit like the fellow who wanted to close the patent office in 1899 because everything had already been invented.
"I've finally learned what `upward compatible' means. It means we get to keep all our old mistakes." -- Dennie van Tassel