I think for an indie developer like yourself what you should do is make some base classes (or your language's equivalent) to simplify the code. For example, in order to load a mesh with Ogre3D you would have to create a scene node, an entity, and do other miscellaneous checks and function calls. However, if you create a class to handle all that you could simply call one function to handle everything. For an indie developer I think that's as far as you should go with an engine. But, when you are programming a game you should try to modularize as many things as possible so you have the option to reuse your code easily in the future. For an indie developer you should use pure code and the engine should be built with the game. As you create a game you create more components required for games, and if they aren't game specific they can be added to your "engine".
I also think an editor is very useful if made specifically for a game. I would say that for an editor you should use a similar approach to the engine, create a base editor. Make it so it handles the required aspects of editors, loading, saving, importing models, moving objects around, etc. Then use this editor with your game projects but make it more specific to your project. For example in a RPG you would have items, so in the editor add an option to create an item. This approach will also add the ability to easily ship modding tools and expand your game much farther then it would if you used a global game engine.
As a summary, I would create a game and at the same time create an engine to simplify and increase modularity so future projects will be easier. The final result should, in my opinion, be something like:
-Modular base classes to handle all required components (collision, models, etc.)
-Modular base editor to handle all required editor components (loading, saving, moving, rotating, etc.)
-Game specific code (items in a RPG, movement, etc.)
-Game specific editor to edit game specific components (edit items, movement, pretty much everything added in the game specific code)
The editor is more optional than the base classes and code, but I recommend making one because it's a great learning experience, it's very useful, adds a modding option, and is fun!

(for me at least) I hope you understand all of this! Good luck!