Whenever you create a connection to a database, a bit of RAM is set aside to hold that connection's information.
If you don't close the connection, then it's possible that that particular segment of memory will never get destroyed, it will be used up until the next time the server is rebooted, or the web server is hupped, or whatever.
Most of the time the memory will be destroyed after a certain timeout period. 15 minutes of inactivity maybe, then boom, it's gone and you're okay.
Sometimes databases will close the connection, sometimes it's the web server, sometimes both.
It's good coding practice to close your connections, however, for a couple of reasons.
When one user leaves a connection open to a database, no big deal. Say it takes 10 bytes ('cause it's a nice round number and I don't know the exact one) to hold the connection info. 10 bytes is nothing compared to 512 megabytes.
But lets say your website gets 1000 hits in a day. That's 10,000 bytes of data that may or may not be getting released. Things scale up very fast on the internet.
Secondly, often times a database server will limit the number of connections it accepts. This helps keep things running smooth, and makes sure the server itself doesn't get terribly overloaded and crash. The number of connections can be anywhere from 10 to 10,000 (and far beyond), but every time you leave one open you don't know for absolute certain it's being closed.
It'd certainly suck to have your website's database server refusing connections because you didn't feel like typing in those 15 or so characters.