After having used Unity and Unreal I can honestly say that they're close competitors. Unreal is great for the hyper-real looking graphics while Unity is better suited for more stylized stuff. With that said, Unity has grown a lot since Unity 4 and I haven't had the chance to use it since Unity 5 came out, although I think the more "advanced" rendering is Unity Pro only which I can understand.
This looks cool.
The latest Unity is pretty great. Good for quick prototyping and it's very programmer friendly meaning that everything you need is there on screen and easily available which can be great for.
Unity does start to fall apart from larger game with bigger worlds and certain resource management and allocation though and a lot of people rely on the use of plugins to add functionality they need while using it so suddenly the development cost is larger then planned.
Unreal is good for creating stuff that looks good right out of the box and the blueprint system is awesome but with heavy blueprints it can cause issues and delays. Although they've recently added a way to turn blueprints into code which is nice and should hopefully speed up some of that.
From an audio point of view, Unity is still awful without the use of a plugin to add nice functionality.
I prefer using unity for smaller sized games, even if it is a bit more effort to get things implemented and Unreal for the bigger things.
The biggest benefit of Unreal at the moment for me is that it can run even with errors, whereas Unity throws a fit and cries whenever there is a small error and doesn't let you run it. Unreal just doesn't care if something is missing and tries to run anyway, which is great where you're working on something with 100s of people changing files at once.
We're in a good place though, competition is good for game engines. We're slowly getting more and more needed features and nice optimizations because of it.