Let's say you are a photographer (I am BTW). As you work, the photo collection grows and you can sell your pictures over and over (except the exclusive ones, that's just one time). The same applies to other professions and trades: you work, deliver the end. In some cases you can use that work again for businesses (reuse, that's good). I could call this "static production" because all that's delivered doesn't need maintenance.
When you are a webmaster, depending on your experience you might find your website work never ends. Sure content is king, but sometimes you realize a redesign of your website is needed every 1, 2, 3 years etc. I think that's ok, specially if your sites are yours!. Things aren't like that when working with clients.
When working with clients or companies you face a new challenge: what works might not work tomorrow. What works needs more work tomorrow, what works... just doesn't work. Many times delivery is not static and needs constant manteinance beyond security.
Login with FB? login win th Twitter? connect with ACDE? many of those require some SDK, and you might be surprised the short life those things have. Later things get broken and you must update the code, again and again, it might be never ending. Sure it can mean more work and money but sometimes fixing that stuff might be needed under pressure, fast, limited time and difficult (while the visitors complain, 5 hours might seem eternity).
Then sometimes clients don't actually get the price/time charged for some "minor" mods, things get expensive because such investment on time doesn't let you do other work (and sure this is urgent). So you might face being married with never ending projects not being able to do new work, or cutting your services you know having limited extra services on delivered work.
Sounds familiar? how you do it? I've seen a common expression on WebmasterWorld on having separate things, login-here, avoiding FB and extra stuff due to privacy issues, over the years it seems like a widespread preference. But sometimes the client wants something else.
How do you face delivering and then having to fix every X months?