When an application runs, it is possible that it will run for a long period of time or run until the computer shuts down. While running an application in a shell, we know that a shell prompt only comes back when running a program in the shell completes successfully or terminates due to some error. Unless we get a shell prompt back, we can't run another command in the same shell. We can't even close that shell because it will close the running process.
Also, to run another application, we will have to open another shell in a new terminal and then run it. It can become difficult and tedious to manage if we have to run a lot of tasks. Shells provide ways to run a task in the background and suspend, kill, or move back in the foreground.