It is a protocol. It is decoupled from implementation details.
Used remotely by many different clients and types of clients:
Custom GUI programs
Web-based applications:
HTML forms
XForms
AJAX
Programs without human authors: stock tickers, weather info, lab monitors, etc.
Existing applications like OpenOffice
On many different platforms:
Mac
Windows
Linux
Palm Pilot
Cell Phones
Cash Registers
With authentication