Engine is just a small application which can run within other Application. It has its own routes, assets, controllers, models, helpers, Views and even Gems
Bcui Main Application is also a kind of engine but with some added features.
Ideal case for engine is when you have a completely isolated domain from the main app. It has its own controllers, assets and models which doesn't share with rest of the App.
1. Full Plugin
2. Mountable