Uninstalling software is conceptually similar in both Windows and Ubuntu: files may get removed and configuration settings may be removed. Whether or not all the files or configuration settings are removed by the uninstall process, is dependent on the software you're uninstalling, not the OS.
Software (in both Windows and Ubuntu) may leave residues for many reasons ranging from simple laziness of the software creator, to keeping user settings for potential reinstallations, to consciously leaving files created by the software (an example would be a word processing software: users would be pretty mad if all the documents created with it were deleted upon uninstallation)
Generally, leaving files and configuration settings is a bit more frowned upon in the Linux world than in the Windows world, but in most cases any files or registry keys that are left are meant to be used only by the program in question. So apart from consuming space on your hard disk, they should not impact system performance and stability. This is true both for Windows and Ubuntu.
However, programs that make system modifications, such as drivers, daemons, system tools, etc., but actually any software that asked you for root access (elevation in Windows) during the installation process, has no technical obligations to remove everything upon uninstallations, and may leave residues that can compromise system performance, stability and security. Once again, this is true for both Windows and Ubuntu.
If you must guarantee that uninstallations won't negatively impact your system, make sure you install only software that doesn't require root access (elevation in Windows). If you will be installing software that requires root access (elevation in Windows), then all guarantees are off, so I would recommend you stick to software publishers that you trust, and hope for the best.
Notice that when I mention Windows, I'm talking about Windows Vista and above, which run on restricted user accounts by default.