As they are both Linux systems, Ubuntu and CentOS share many similarities. The main user visible difference is probably the package management system. Ubuntu is based on Debian and uses apt, while CentOS is based on RedHat and uses rpm. Another major difference is their release cycle. Ubuntu uses a time-based release cycle. Every two years they release a long term support edition. There are also releases every six months that provide the latest and greatest. As CentOS is based on RedHat, the releases are much more infrequent. Some would argue that makes them more stable, but it also means that some software tends to be out of date.
There's been a lot written on this subject. It's hard to make a solid recommendation without knowing your exact needs. Personally, I feel that the Ubuntu LTS releases are going to be the best bet for most users.