For any given example you gave, and probably for most uses of spread sheets, there's either a better tool available, or you could develop a better one yourself.
However, spread sheets are a good solution for many tasks when you want something done quickly, without the need to search \ buy \ develop a specific tool (note that not everybody is a programmer, and even programmer usually have other tasks)
But with the power of spread sheets comes also a big risk. in many places such an 'ad-hoc' spread sheet which starts as a local initiative turns into a mission critical application for the company, although it's usually not suited for it
- There's no protection from data corruption
- It's isolated from corporate application, usually resulting in duplicate data (and quickly after data that is inconsistent with other applications)
- It's mostly suited for single use applications