People often refer to bundles as modules or re-usable code for Symfony applications. When a developer has experience with Symfony1 or another framework with the module concept, it might seem logical that this is what a bundle represents in Symfony.
So what is a bundle? When do you need one and what can it do? What's the difference between an AppBundle and a vendor Bundle?