Explain the concept of frappe app?

Hey guys struggling to understand the concept of a frappe app?

Is it a module with relevent doctypes?
Is it just a way to inject code cleanly into the system (functionailty)

meaning i want to do an automation script, i make a frappe app, it acts as a package/container for that which makes it easy to deploy or remove.

If you can give me some use cases and ideas or even links to documentation or youtube videos