progressive enhancement is not about offering all functionality; progressive enhancement is about making sure that your core functionality is available to everyone. Everything after that is, well, an enhancement (the clue is in the name).
Jeremy Keith
It is more often than not that I find myself in discussions about this exact point: I want our websites, their core tasks, to function, and if this is cared for, then we can talk about the fun stuff.
To many people this, in our new and modern browser times, seems to be a waste of time, why care for systems or users without javascript, that's only those web fundamentalists like you, I was told on one occasion. There are plenty of good reasons to do so, but first of all, the layered approach from function to representation to behaviour to me seems only logical when working with the web's building blocks. Working with, not against, them.
But this needs planning, strategy, and sometimes there seems to be no time and/or budget for this - it's only a small webpage, let's throw some javascript driven ui widgets together and be done with it, why don't you?
So it's good to have this article by Jeremy Keith to refer to, since it explains very clearly and takes good care of some 'counter' arguments, thank you, Jeremy.