As usual, it depends on your own preference and skill level.
On the Desktop and the Server [Comparison]
Here is a side-by-side look at each distribution, comparing some of the differences that will matter most to the user.
|Stable, but without the latest features
|Based on the Debian testing branch, newer features
|A solid base operating system without anything pre-installed and minimal configuration preset
|User-friendly, lots of software already installed, and configuration decisions made for you
|Free, open-source software only
|Some proprietary software like drivers and audio codecs
|Maximum 3 years of support
|LTS (Long Term Support) releases supported for 5 years
|Very lightweight as nothing comes pre-installed
|More bells-and-whistles, but less work to do to get it to a state ready for day-to-day use
|Build a system tailor-made to your tastes, with your own software choices, desktop environment, and configuration
|The GNOME desktop is pre-installed along with office and media player software, configuration tools, screen savers, etc.
|Tiny! It fits on small drives.
|Larger, you’ll need more disk space.
For servers, your choice will also have to factor in which operating systems are supported by your host. Virtual Private Server hosts tend to have better support for Ubuntu, but you may choose Debian for additional stability and security if you’re hosting on your own hardware.
You’ll also need to factor in which distributions the software you want to use supports out of the box. As Debian leans toward stability over newer features, you might find that the software you want to use (the latest version of PHP or NodeJS, for example) are not supported or have unmet dependencies on a base Debian system.
Really, you can’t go wrong with either Ubuntu or Debian. Both offer largely the same functionality for the end-user (Ubuntu makes some choices for you upfront about the default functionality), and behave in similar ways.
If you’re having trouble choosing or understanding the differences, Ubuntu is probably more targeted at your current skill level.