One of the questions which I see pop up from time to time (especially when I used to work for a VAR that wrote software for small businesses) is why doesn’t SQL Server do the maintenance automatically? Things like checking for corruption (DBCC CHECKDB), index defragmentation, backups, etc.
The reason for this is pretty basic. How is the SQL Server supposed to know what settings to use, or how often to do those things? Every database needs to have the indexes rebuild at a different interval. There are a variety of recovery options which would change the backup policy for a database. Not to mention that to properly build backup settings the SQL Server would need to know things like your RPO (Recovery Point Objective aka. how much data are you willing to loose in the event of a major failure). Without a way to tell the SQL Server these sorts of things the SQL Server wouldn’t be able to properly maintain your environment.
So there’s the why.