The N900 comes with quite a few applications out of the box, and although I don't cover them all here, a few are worth mentioning. One of the most important of these is probably the package manager. This program acts much like any other graphical package manager you might be used to on Linux. Maemo packages everything in debs and provides its own APT repositories. In fact, if you are comfortable with apt-get, you can install the same programs via the command line. You also can add additional repositories, including ones you've made yourself if you want, but out of the box, you have access to Nokia's own repositories along with the stable maemo.org repository.
Maemo.org is the central site that organizes the Open Source community behind Maemo and is loaded with documentation, news and the main community forum. Many of the most popular applications from prior versions of Maemo have been ported to the N900, although you might not see them all out of the box. Although the main maemo.org repository is on by default, only applications that have been throughly tested show up there. If you are willing to risk some instability, you can add Testing and Devel repositories that somewhat mirror the Debian testing and unstable system. Applications that are shown to be stable in Devel move up to Testing and eventually are promoted to the main stable maemo.org repository.
The N900 also includes a media player, photo management, calendar and e-mail program. None of these applications stand out, but they all seem to do an adequate job. The media player can take advantage of hardware acceleration, and with the right third-party packages, you can get support for most media formats you'd want to play. Although the calendar application can't natively sync to Google Calendar, you can somewhat work around that with its native Exchange sync feature, even though you still can sync only your first Google Calendar. The good news is that most of the limitations you might find in these default programs can be solved with third-party software available from the maemo.org repositories.
GPS navigation is the one main exception to being able to solve application shortcomings with third-party programs. I found the Ovi Maps application included by default to be a bit sluggish and unintuitive and overall wasn't too impressed. Unfortunately, although a few other third-party GPS programs are available for the N900, none available at the time of this writing seem to be able to provide a better set of features than the default.
Maemo's software selection may not have the numbers that Android or the iPhone have yet, however, in the short time that the N900 has been available, quite a large number of useful programs are already in the repositories. Also, the Maemo platform provides you with more options as a developer, and you can write programs in C, C++, Python or even bash and with either the GTK or Qt graphics toolkits. The maemo.org repositories are where the most interesting and useful applications are, and it's where the N900 really shows some of its strengths as a platform. Here are a few third-party apps I've personally found useful:
OpenVPN: open-source VPN to tunnel into my home network from anywhere.
gPodder: excellent podcast program.
BlueMaemo: turns the N900 into a Bluetooth keyboard, mouse and gaming pad.
VNC and rdesktop: connect to and control remote desktop sessions.
fbreader: great ebook reader with Project Gutenberg integration.
DrNokSnes, iNES and SDLMAME: SNES, NES and MAME emulators.
qtirreco: uses the IR port to turn the N900 into a universal remote.
Duke Nukem, Doom and Quake III: enough said.
Panucci: media player optimized for podcasts and audio books.
Beyond these programs, many interesting small packages extend the functionality of the N900, whether it's adding extra IM protocol support, remote control via wiimote or applications like MPlayer, nmap or even AbiWord. In fact, one of the most interesting programs is easy-deb-chroot. It sets up a complete Debian ARM chroot image on your filesystem and gives you access to a regular Debian ARM install. This means that even though GIMP, for instance, hasn't been ported to Maemo yet, it, OpenOffice.org, Konqueror, Wireshark and just about any other app from the Debian ARM repositories are available on the N900 and can run from within the chroot environment.
Kyle Rankin is a VP of engineering operations at Final, Inc., the author of a number of books including DevOps Troubleshooting and The Official Ubuntu Server Book, and is a columnist for Linux Journal. Follow him @kylerankin.