What is the difference between hooks and background in Cucumber?

What is the difference between hooks and background in Cucumber?

You can run After Hooks after you complete the last step of the existing scenario. This can happen even while they fail, remain pending, undefined or when you skip steps. You can set up Background based upon a precondition. You can run the Background before every scenario, right after the Before hooks.