On the last 10 projects that I have worked on URLs have really mattered.
We recently updated ajaxian.com from Movable Type to Wordpress, and felt that pain once more.
I tend to get a little anal about URLs in my applications these days because I have gone through too many upgrade cycles, and your URLs are like your public interfaces. You do NOT want to change them.
Who knows who is using those interfaces? ;) Hopefully there are lots of bookmarks, and links in from other sites, and of course Google and the like.
So, I try to abstract away my implementation from my interface, and often start off with Apache aliases even on v1.0 (unless I am using a framework that really lets me choose nice URLs such as Rails).
I never use extensions (such as .jsp, .php, or what have you) unless I use .html. I think about the URLs that make the most sense, and create aliases for important ones (e.g. /jobs instead of /by/category/jobs).
If you do this correctly, then you can swap out the implementation with the minimal amount of tweakage required. Do it when you aren’t popular.