Yes, you need some sort of "handle" for anyone to access your site (and a domain is easier to use than an IP address for most people), but the issue isn't a technical one. Links within your site (or, at least, within the same subdomain) should never be absolute, so coding shouldn't be a problem.
(That is a bit of an oversimplification. Links in user-generated content are almost always absolute and may need a clean-up after a domain change, but that clean-up is scriptable, and a domain change after a public gold release is a drastic measure.)
The problem is really one of branding. Except for tiny personal sites that nobody really cares about (except you and your grandmother), your site either talks about a product or is a product. Your domain is a part of the branding for that product, and there should be a straightforward, easy-to-see connection between the domain and the product. If your site name, application or product is called "ZippityDoo!", nobody's going to find it if it lives at "www-12.bobsbuggyemporium667.info"; and if they do find it by accident, how are they going to tell anybody about the great new "ZippityDoo!" site without writing it down (and having their computer handy so they can copy your URL from a bookmark)?
Let's go a bit further down that road. What if you wanted to call your site/product "ZippityDoo!", but zippitydoo.com, zippitydoo.net, zippitydoo.in, zippitydoo.info, zippitydoo.org, zippitydoo.tv and zippitydoo.org are all taken? You try something else, and find that dibbitydab.com (and .net, .info, .org, etc.) are all available. "DibbityDab!" is just as good a name for the product as "ZippityDoo!" (it has the same basic gut association with what your product provides), so you register that domain. But your site is complete, and everything in it—all of the graphics, logos, and copy are based on your original name. You have to go back and change everything, or hope that people can figure out that if they want "ZippityDoo!" they have to go looking for "DibbityDab!".
Your domain name, taken as a part of the brand, can affect every aspect of your site. It will determine what sort of users will be attracted to the site as "early adopters" and drive their expectations of content, features and functionality. A hipster name for a bankers' site won't work, nor will the reverse. With a domain name in hand, you can plan around user expectations. It's really difficult to get users interested if there's a lot of dissonance between your site content and the expectations they have going in. Even if it's something they need, they won't stick around long enough to find out.