There are a few types of game engines that can have some advantages and disadvantages: like creating your own again using middleware and engines like udk and cry that designed for multipurpose use.
Creating your own engine for a game can be alot less expensive than if you were the buy a licence for one where you might have more tool than your game may actually need. The advantages about making your own engine is that you can create the tool to exactly what you need and what you actually need for the game required. The disadvantages to this is that it take a lot more time before the game can go in to full production.
Middleware engines are useful as they are a combination of different engine parts like havok and bink to to create the engine custom to what you need for a game this can help cut development time from making your own engine but cost a bit more for liensicing the products alot of games uni this like Skyrim and assassins creed the both have their own engines called creation (skyrim) and avril (assassins creed) Avril is used by Ubisoft in other games like prince of Persia but the the game is similar its uses Autodesk’s HumanIK middleware software to match in the hands and feet animations in to the climbing slots on the buildings in the game. This is custom to assassins creed as a game like Skyrim wouldn’t need this and would be pointless to have in the engine if it isn’t being used. But it saves development time for Assassins Creed. Skyrim on the other hand is different as it needs more physics for things like arrows, and more behaviour in the people around the open world like there is alot more behaviour to what the people are doing around you in the world where assassins creed just mainly has people working around aimlessly. So for this Skyrim uses Havoks behaviour, animation and physics middleware to add to their engine to make this happen. This saves them alot of code and makes developing the game alot faster to make but costs alot but on the plus for this Skyrim is a big title and has the money to do this same with assassin’s creed.
There is also engines likes UDK and CRY engine that are really user friend and involved hardly any coding at all to make them but the cost of licensing them costs alot more Cry engine alone costs $1.2million to license http://digitalbattle.com/2012/03/16/cryengine-3-costs-1-2-million-to-license/
That’s a hell of a lot especially for small developers to pay but the engine does a a lot and can be used for any sort of game also making development so much quicker but as a price. Personally to me i can see why most companies chose to use this over middleware but udk is the same most high end games use udk for developer like aa titles like batman and gear of war.