The answer is a little complicated.
The Linux filesystem has places for apps to put temporary files /tmp and /var/tmp, which are cleared periodically by scheduled (cron) jobs and in the case of /tmp, at boot time.
Many apps will use these directories, sometimes quite heavily.
Some apps do not use these system wide directories. For example, Mozilla Firefox and Google Earth will both create quite a lot of cache files somewhere in your home directory.
There are tools to help you find out where your disk space is going, and these are invaluable when cleaning off files which are hogging a lot of space, and which you don't really want.
For example, the file size view in the file manager konqueror is really useful. Have a look at the screenshots on this page
for a look at that an another similar tool.