I confess I've never thought much about why /tmp exists, but today I was inconvenienced when an end-user utility (uudeview) ran out of space on /tmp while doing an ordinary end-user task processing very large end-user files.
Why is an end-user program using a "system" directory like /tmp in the first place? I suspect that the need for /tmp is now gone, but I'm prepared to be wrong :)