Exactly this. Sometimes you need to get something done quickly, and getting sign off for a "proper system" just takes too long, or there are too many budgetary constraints, or the dev team is working flat out on higher priority projects that means your will project will never likely see the light of day.
And sometimes you just need something which is much more flexible than what a pre-programmed computer churns out. It's the reason that so many bank still use Excel for financial modelling. They can change a few parameters and instantly see the output of the bottom line.
Totally agree with your second point, the trick is to get a proper system in place before the Excel gets too mammoth.