Update: macOS High Sierra
High Sierra features changes primarily behind te scenes. Computers with solid state drives will be converted to Apple's new high-performance file system, APFS. Generally this won't even be visible to most users but expect utilities which do low-level file operations to stop working. Apple's graphics technology, Metal, is also enhanced which should improve the performance of graphics-intensive stuff like games when it is used by developers.
In addition there are the usual incremental improvements to the bundled apps, such as Safari which is even faster and has settings to control media and other features on individual pages, and Photos, which has better person recognition, more adjustments, and better synchronisation with other devices.
Update: macOS Sierra
First it was System, then Mac OS, then Mac OS X, then OS X, and now it's macOS. Apple like changing their naming systems, but this one seems to fit in with the other platforms (iOS and watchOS) which Apple has. So the name is now macOS Sierra which continues the theme of landmarks in California used since Mavericks.
This system introduces new features which concentrate on standardising the functions of the Mac, iPhone, and iPad. The different systems have more functionality and there is increased interoperability between them.
Go to my macOS Sierra page for details.
Update: OS X 10.11 El Capitan
El Capitan (as the name suggests because El Capitan is a major feature in Yosemite National Park) is mainly a performance upgrade to the previous OS version, Yosemite. Apple have improved application launch times, made scrolling faster, and added other enhancements, partly through the use of a new hardware acceleration model called "Metal".
There are some new features too. Safari now has pinned tabs which allows important pages to be left open, and individual pages can have the sound muted with one click. Spotlight now provides a wider range of results which includes news and weather, and it also suports some natural language searching. And a new window management system allows easily splitting the window of two apps on the screen.
Update: Mac OS X 10.10 Yosemite
Yosemite further develops the improvements in Mavericks but the new emphasis is on integrating the Mac operating system with iOS on the iPhone and iPad - and iPod if anyone still has one of those! The integration takes two forms: the look of OS X is now more flat and uncluttered, like iOS, and the two systems now work together much better.
For example, the Mac can now automatically use an iPhone to send and receive texts (not just internet-based iMessages like in the past); a web page being browsed on an iPad automatically becomes available on the iPhone as well; the Mac can easily connect to the internet through an iPhone or 3G/4G equipped iPad; and many other functions where the devices just automatically work together.
Update: Mac OS X 10.9 Mavericks
Mavericks is a really good operating system with a few significant problems for some people. Probably the most significant issue has been the use of GMail accounts in Mail. A major cause of this is Google's non-standard implementation of IMAP, but Apple have had plenty of time to get this right and it should have been better. The 10.9.1 update improved this situation for most users.
More importantly 10.9 is very efficient "behind the scenes". Many people report it running in less memory and faster than older systems - an unusual situation! This is because of its improved memory management, including compression, and other optimisations. You will need to boot into 64 bit mode so old 32 bit kernel extensions won't work (but 32 bit programs do, of course).
Update: Mac OS X 10.8 Mountain Lion
Mountain Lion is a significant improvement over Lion in many small but useful ways. In general I recommend moving all machines running 10.7 to 10.8. Support for corporate services (Exchange, etc) is fairly good. Some of the more annoying design elements in Lion are gone. Integration with iCloud (and iOS devices) is good. You will need a Core 2 Duo processor and 4G of RAM to run this system well, and 8G of RAM is recommended.
Update: Mac OS X 10.7 Lion
This is Apple's first serious effort at integrating functions and the interface between the Mac and iOS devices (iPad, iPod, iPhone). Support for corporate services is marginally improved again (a continued trend). Support for PowerPC software us lost completely (the Rosetta environment is gone). Some of the built-in applications have been give an "iOS look" including elements of skeuomorphic design. Many people (me included) didn't like this. This is one of the few operating systems which Apple released which I don't recommend: either go to 10.8 or stay with 10.6 in most situations.
Update: Mac OS X 10.6 Snow Leopard
Mac OS X 10.6 is primarily designed to provide improved compatibility and performance so new features are minimal. Support for Exchange servers is much better so this system fits better into corporate environments where Exchange is common. This system only runs on Intel hardware so it isn't an option for users of older PowerPC Macs.
Update: Mac OS X 10.5 Leopard
Mac OS X 10.5 includes several useful additions which are often under-utilised by new users. Maybe the most useful feature is "Quick Look" which allows viewing many different types of files directly form the Finder without having to open the program which created them. For example, most graphics formats, text, RTF, PDF, Word, Excel, PowerPoint, Pages, Numbers, Keynote files can all be opened in a second by just choosing the Quick Look command (or by simply pressing the space bar) after selecting the file. After viewing one file using the navigation commands (arrows, tab, etc) will Quick Look further files. Its a great way to scan through photos. Check if a word processing file is the one you want before opening it, etc.
The Finder has been completely rewritten using a more modern programming environment and it is much more responsive and handles multi-tasking much better than the previous version. But the suer interface works almost the same as older versions so there's not too much new to learn. There are many small changes which power users will appreciate. For example, the warning when changing file name suffixes can be turned off. And when a file is renamed only the name is highlighted and the suffix stays the same. These are subtle but useful enhancements.
There are many smaller revisions which are just as useful. Full functionality is finally restored to file sharing now and its possible to share any folder with any user or group without any additional programs. The sharing and network configurations have been revised and are both easier to use and more flexible.
Mac OS X 10.5 does not support Classic programs, even on PowerPC computers. All major programs have been updated so alternatives are easily available in most cases. There are some notable exceptions to this though, for example Word Perfect and HyperCard, which are both discontinued products.
Update: Mac OS X 10.4 Tiger
The release version of Mac OS X 10.4 has been here for a while now and has already been updated to 10.4.1 - and we expect 10.4.2 soon. It seems to be a useful improvement and runs well even on older machines. The memory requirement is sneaking up though, and 512M is the recommended starting memory size now. There are few compatibility issues with Tiger, so overall its another successful very upgrade to the Mac OS X operating system.
Update: Mac OS X 10.4 Pre-Release
Mac OS X 10.4 has many useful improvements. The most obvious are Spotlight, a system-wide search system; Automator, a workflow automation tool; and Dashboard, a widget system which gives you instant access to a range of useful mini-programs. All of the bundled applications are updated as well, and the core system continues to improve. Even with all of these extra functions, the speed of the system is better than previous releases, a fact which shows how extensible and flexible Mac OS X really is.
Update: Mac OS X 10.3
As well as improving the user interface and application programs bundled with Mac OS X, Apple continues to improve the core services behind the scenes. Java has received several revisions and the results in improved compatibility are obvious. OpenGL is being tweaked to give better 3D graphics performance. Samba (Windows file sharing) has been improved for better compatibility with newer versions of Windows. Many other services are being upgraded as a result of the improvements in the Unix core of Mac OS X, newer open source Darwin components, and new Mac OS X specific code by Apple.
Mac OS X Core System
Mac OS X is based on BSD Unix. This provides an extremely reliable and standard system to base Apple's own enhancements (especially in the area of user interface design) on. Unix is widely used in large installations and on high performance computers. It is a very widely used and well tested system which has evolved over many years through the input of many talented and dedicated organisations and individuals. Amongst computing professionals it enjoys almost total admiration and support. Compare all of the above with a Microsoft OS - totally the opposite!
Unix provides protected memory so that if a program crashes (no matter how good the system is this will always happen) the rest of the system, including all other programs, keep running.
Unix provides a high performance, transparent virtual memory scheme. Are you sick of allocating memory to programs and having to keep changing this amount to make programs (like PowerPoint) work? Do you want to dispense with constantly starting and stopping programs and maybe even restarting to free memory and prevent fragmentation? Do you want a virtual memory system that doesn't become slow unless its set to the minimum amount? If you use Mac OS 9 or before you might have answered "yes" to these questions. With X forget it! Memory just happens. Just run up any programs you like and forget about allocation, fragmentation, etc. It just works - and its fast!
Unix provides incredibly efficient multi-tasking and multi-threading. Your system can be running dozens of tasks and you won't even notice! Open some big files, launch a few programs, run the SETI client and do some word processing - all at the same time. Depending on your system you may notice a slow down, but no pauses or waiting. Everything just keeps going smoothly!
Got a computer with multi-processor support? Do you know how many processors in your dual processor machine Mac OS 9 uses? One! Isn't that useful? Use X and both processors get used. The current implementation only supports two but we expect more in future.
Unix provides a true multi-user environment. Users log in to their own custom environment. They can set privileges to allow access to other users on the local disk. Each user can have their own programs, preferences and documents.
Mac OS X supports both Mac HFS Extended and Unix UFS file systems so you can use your existing disks without having to re-format them for Mac OS X.
Types of Programs
Mac OS X supports 5 main types of programs...
Cocoa applications written specifically for Mac OS X use all of the systems advanced features and are the best programs to use if you can. They are written using Apple's advanced object environment which makes writing and maintaining programs easier. The problem is that programs written using Cocoa only run on Mac OS X and they have to be written completely from the beginning - its difficult to "recycle" code from existing programs written for earlier systems. Examples of Cocoa applications are Mail, OmniWeb and TextEdit.
Java applications run in Mac OS X's Java environment. These are cross-platform programs written using the Java language. They have access to some Mac OS X features. Java programs on Mac OS X run very reliably and quickly - they are not like the Java programs you may have experienced in earlier systems. An example is Limewire.
Carbon applications are modified conventional Mac programs that run directly in Mac OS X but miss out on some of the features available to Cocoa. Apple created the Carbon environment because Carbon programs run on both Mac OS 9 and X - this provides developers a bigger audience until Mac OS X gains a greater number of users. Also Carbon programs can quite easily be created by modifying existing Mac OS 9 programs. Initially most new programs for X will be Carbon. Examples are FileMaker Pro, BBEdit, iCab and Fetch (all converted older Mac programs).
Unix programs run like they do on any other Unix system. They are generally launched from the command line or automatically at startup. Many have graphical interfaces through Cocoa programs so that the fact they are Unix programs is disguised. Examples are Apache, cron, ftpd.
Classic applications are unmodified Mac programs that run in the Classic environment. The Classic environment is essentially a complete Mac OS 9 machine running as a Mac OS X process. Classic programs run just like they do in the conventional Mac OS. Unfortunately this means they miss out on most of the cool stuff Mac OS X has. While the Classic environment as a whole enjoys the benefits I listed in section 1 above, the individual programs still suffer from the interactions, memory allocation problems, etc that we already have with Mac OS 9 and before. Examples are Microsoft Office. Note that many developers (including Microsoft) have promised Cocoa or Carbon versions of their programs "soon". Running Classic applications is seen as an unfortunate temporary necessity until more programs are converted.
Update: Classic programs will not run on Intel Macs (introduced at the beginning of 2006). All major software has been updated to run directly in Mac OS X, including Microsoft Office (since the beginning of 2008 it has been updated to use the Intel processor).
Common languages for program development are Objective C (Apple's object oriented programming system specifically for X), RealBASIC (an easy to use BASIC language which is being used to create many cool shareware programs such as Whistle Blower) and Java (the industry standard, cross-platform environment). A development CD comes with the Mac OS X installation pack. It contains compilers and many other tools so you can get started writing programs immediately!
System Functions and Services
Cocoa applications have access to a "Services" menu. This allows programs to directly and transparently interact. For example if you have typed some text in TextEdit you can send it to someone by choosing Mail Text from the Services menu. While these sorts of services are already available in other systems, they are far more transparent, consistent and problem-free in Mac OS X. To install a service just drag a program to the Applications folder and log out and in again (the logout shouldn't be necessary in future systems).
Many system-wide functions are available to Cocoa applications, for example a spell checker, a color picking panel and a font picking panel. Add a spelling word in any program and every other program also knows about it because they all use the same checker! Unfortunately this currently doesn't apply to Carbon programs.
A screen showing a simple program (TextEdit) with access to system-supplied services such as a spell-checker, a color picker and advanced typography.
The preference model is very flexible and simple. All preferences are stored the same way - as industry-standard XML files. If a preference gets damaged (they don't but I suppose it could happen) just open the pref file in TextEdit and fix it - you don't have to throw it out and start again. Preferences are stored in three different places. System preferences belong to the system and shouldn't be touched (privilege protection usually prevents this). Application preferences that are global are stored in the application preference folder and most preferences which are set by the user are stored in the users own preference folder (each user has one).
A very nice, full-featured, expandable screen-saver is built-in so the proliferation of buggy, memory hogging screen savers we got with older systems is gone!