<p>I wouldn't dare do anything complex in a database without transactions. There is nearly always a simple to use in-built command. But when you start working with other persistent data you just don't get this simple to use transaction support. Some example are</p>

<ul>
<li>file systems</li>
<li>web services (none that I've used)</li>
</ul>

<p>Even in non-persistent data it is often useful to undo a block of work, following an exception. None of the standard data structures you get with a language, support transactions.</p>

<p>What I would like to know is, why are databases the special case?</p>

<p>Are there any useful links to the topic of transactional behavior out-side of databases?</p>

Modern file systems do have transactions.  They're just transparent to the end user.
NTFS, XFS, JFS, EXT3, and ReiserFS all do, just to name a few.
And that's just internal to the file system.  Many OSes also support file locking (see flock(2) in the *NIX world, for instance) with exclusive (write) and shared (read) locks.
Edit:
If you think about it, file systems don't have isolation levels like modern DBs because once you finish reading a file, you traditionally close it if you didn't lock it.  Then you reopen it when you want to write to it.