Started using Unreal some months ago after being a Unity User for 3+ years. The broken PhysX Version currently used by Unity 5 (which broke many things like Mesh Colliders and the Wheel Colliders) without much hope for a real PhysX replacement was what made me move to Unreal Engine 4 for now.
As far as I can tell, Unreal Engine 4 has a less "easy to use" editor as many things that are simple in Unity, or can be done with in-editor tools, are more involved or have to be done in external tools in the Unreal editor (Cubemaps for example need to be combined into a DDS image in Photoshop or other external tools).
Then there is the Node based scripting. While it sound brilliant on paper, and at least in case of the shaders, actually makes it pretty easy to drag and drop a quite complex shader together in not that much time, for me it works less as a tool for game mechanics scripts or stuff like that. The nodes are sometimes confusing (like names of the nodes not corresponding to what is shown in the node selection list), complex scripts are really hard to arrange in a logical, easy to read way even though there are many options to help you with that.
For me as a programmer, while dragging and droping in Blueprint helps a lot with simple scripts, I wouldn't want to use it for more complex things (yet... maybe I just have to get used to it more).
A lot of things are quite "complex" in Unreal Engine 4 because the amount of options you have is staggering (fighting with translucent materials and particles now, I am still not 100% sure I understand all the different lighting options and why you can have translucent being rendered in its own or in the same pass with opaque materials, and why it makes such a difference to the way the material renders). The shadowing system seems to be just as complex to understand for someone coming from unity, with so many options and moving parts.
Documentation for Unreal Engine 4 is vast, but either I am really stupid, or the documentation is really hard to search and badly indexed. I always had trouble finding the right information for the problems I was facing at the time, and after prolonged google searches I found the information right there in the official documentation, just buried somewhere where I didn't looked at first.
Engine Editor for UE4 crashes regularly. At least in version 4.8 which I am still using. I can count the amount the Unity Editor crashed on me, in version 3.5 to 5, on one hand over these 3 years.
C# API for Unity is really nice and simple (its based on Mono, if you know that). Almost as good as having a drag and drop node based visual scripting tool.
Of course, on the other hand you HAVE the options in Unreal 4 whereas in Unity, you are often SoL if you are not satisfied with the standart way the engine is doing things. It will take some try-and-error, digging in the documentation and time, but most things can be done SOMEHOW. And if everything fails, you have access to the source and can change the engine, if you really want and need to.
Rendering.... it is hard to describe, but the renderer of Unreal Engine 4 just seems better. Especially it seems to be much more forgiving about the models you feed it, many models that where full of problematic baking errors when baked for Unity posed no problems when baked for Unreal... could be the tools I am using for baking (3D Coat), still seems that the way Unreal treats the model normals (which is different to Unity) makes the whole thing less problematic.
You get much more options out of the box for high-end rendering with Unreal Engine 4. Most can be had in Unity if you either write some shaders yourself or shell out some money in the Asset Store, but it is actualy nice to get this with the engine in UE4.
Then there is the Fact that UE4 comes with less old garbage in the Codebase... I would bet there is still a tremendous amount of code in the Unity engine from 2007... see the different renderer options... legacy deferred. Unreal seems to go in a different direction, at least this is what Epic claims. Engine is said to be rewritten from scratch with every major version... now, there are still plenty of bugs present in the Engine, but Epic seems to be pretty active at fixing them.
Personally, I'd say go with UE4 for developing high-end PC games if you are not afraid of the higher complexity, having to learn C++ or the Blueprint system (which, to be honest, is just another programming language to learn, just without the syntactic details of other languages), or some crashes and bugs still present in the editor. Make sure your google-fu is up to scratch though if you have to rely on Epics documentation though.
For beginners, Unity seems easier to learn for me. Also, if you are not doing high-end PC game development, but mobile or 2D dev, Unity might be completly sufficient. And you will have an easier time with their more stable, more powerful editor to boot.