I think it depends on what the nature of your testing involves. We use Excel spreadsheets because they're easy to manage and maintain, and they can be queried like a SQL database. We record our results to a SQL database though.
Yes. It depends on the situation. I have used both Excel and DB. When the number of records that are to be stored is less I prefer Excel. But when we have lot of records to store we use DB bcoz of its advantages like data security, multi user access, data intigrity, data validation, etc. If you use excel you can't have primary key so there is a chance of data redundancy.
I guess my thinking is...if it was just me going to use and run the scripts then i'd use a db. But using the automation as a service to customers/developers/manual testers then perhaps a spreadsheet is more portable.