Imagine you are using AJAX to get messages left on a user's facebook wall in almost real time. You could have a function that runs every 30 seconds and calls a URL via AJAX that returns all messages newer than a certain date or time.
If you have cache = true, then the same set of messages will always be returned - the browser will cache the first result and you won't receive any new messages. Caching is not appropriate in this situation.
You might also have a single web page that has three tabs - you might want to load the content for each tab when the user clicks on it. The content in each tab might change once a day, once a week, or it might never change. The user might switch between tabs a few times. If the content for each tab hardly ever changes, there's no point re-requesting the content from the server - your browser has already downloaded it once. So in this case caching is probably a good idea.