Over on Jesus is my Sword this weekend was a post wondering if websites should be thought of as software and free updates should be expected. It felt to me like he was saying that they should be expected. I don't think that same way. I'm much more under the opinion that a website servers a specific purpose now and that anything other than potential security issues should not be "given" as a free upgrade.
Now there are definitely some exceptions to this. The main is the Software as a Service model (or in the web's case, Site as a Service model.) This model gives developers and designers time to focus on pretty much one product that the client has to accept for what it is with the notion that in subsequent versions more features will be added.
Most clients want a solution for the here and now. They're not considering what might help them in 3-5 years. Maybe that's a good thing based on how liquid the current web development market is. So why would a firm give away code when more than likely the client will want a whole new website in 3 years anyway? And why not give them code that's 3 years better with their new site rather than smaller, more incremental changes over those 3 years that will increase the WOW factor 10-fold. After all, in order to make money, you want to not give away free WOW, right?