At the beginning of every game I take a step back and consider if I should switch engines or if I should just enhance our current engine. Note: we are almost to alpha with our latest game, Din's Legacy, so the last time I did this was several months ago.
When I started working on our first game, Depths of Peril, in late 2004 the decision was fairly easy. The choices were mostly license an engine like Unreal or Quake ($100,000+ per game), use an open source engine (usually graphics only and open source can cause lots of issues), or write my own engine. Given the options available at the time, I felt writing our own engine was the only realistic choice for us.
Fourteen years later, things have changed greatly. There are now several powerful engines that provide an entire game framework and don't cost too much, the big two being Unreal and Unity. If you are just starting out, these are great choices (so are probably many other engines), but Soldak isn't just starting out so it's much more complicated.
Some pros of other engines: better graphics (this is the big one), better physics, mobile versions, console versions, and probably many other small things.
Some cons of other engines: dynamic world problematic (need to be able to load huge parts, if not all, of a world in the background), random levels problematic (works against things like packaging, light maps, and pathfinding - basically everything that happens when you build/compile a level), might have to redo or rework many of our current assets, licensing costs (not nearly is bad as it used to be), learning curve, start over with game code or lots of porting work, no source code (some have it and some don't), and probably various other things.
The pros and cons list is where I get stuck every time. The pro of having better graphics would be very, very nice, but the cons list is basically everything that makes a Soldak game unique. Potentially losing dynamic and random worlds is basically a non-starter for us. Add on top of that all of the ramp up time to learn how everything works, rework/redo old art work, and port or rewrite all of our needed game code, it really just isn't feasible (we would go out of business before finishing the game). This is essentially why every game, I stick with our engine. Our engine has drastically changed over the years though, as I add new features. If I was from the marketing department, I would probably just say it is a new engine each time there is a major graphics change or brand it in some way.
Now if we ever decide to make a more linear RPG that will be a different story since a lot of the cons would go away. Anyway, these are some of my thoughts when I have to make a decision about an engine for each game.
As always comments are welcome and encouraged!