Couldn't agree more. I'm using it for notifications, where icon colour changes depending on the type of notification (colours are also user editable) ... and the notifications can be disabled :)
The obvious and most common is asynchronous state that has some associated loading process/time. Especially those situations where loading some top level object implies to start loading a collection of lower level objects.
Reacting to object changes (persisting them to a database, or otherwise audit logging them).
Kicking off and managing "background tasks" like chron-job equivalents (5 minutes after a state update do some other related thing, such as a automatic state machine transitions), database synchronization/replication processes, cross-checking/merging in data from GPS/geolocation/compass streams, etc.
I had an opposite (BAD) experience with Amex. I switched my internet provider, called the old one and cancelled the service. They didn't give me any cancellation number, but kept charging me monthly via Amex. They were going out of business (no wonder), so they stopped picking up the phone and had PO Box for the address, but kept charging!
When I asked Amex to cancel or prevent further charges, they refused to do anything without a cancellation number, which I didn't have and couldn't get.
I don't use browser bookmarks/favorites, but I have created and use zeerka.com browser homepage that keeps all the links I need, accessible in any browser, taggable, searchable.