Better resource utilisation : Task manager with n slots means task-manager will dedicate 1/n of its memory to each slot. It means more subtasks share the same JVM and share TCP connections (via multiplexing) and heartbeat messages. They may also share data sets and data structures, thus reducing the per-task overhead. Also, a good default number of task slots would be the number of CPU cores.
There is no defined configuration. It totally depends on the application and the use case.
A configuration with 1 slot per task manager provides isolation and is easier to manage. But this might leave some memory unused.
On the other hand, if multiple slots and multiple pipelines/jobs are run, tasks of diff jobs might get scheduled on 1 task manager. Because of high memory consumption of specific job, if task manager goes down it will restart all jobs running on that. If you only run a single job per cluster, multiple slots per TM might be fine.
Stand-by task slots helps when any task manager is down or pipelines-restarts. In these cases job-manager assigns those tasks to these stand-by slots and application will experience less downtime.