Main differences are in Track and Missions, many flight types are built into the drone and the differences are mainly visual presentation and not functional.
Litchi uses their own tracking which means you need a fairly high-end device, UF uses the built-in tracking of the drone so it's a bit more efficient and can, in some cases and depending on the device be more responsive.
The main difference is in the areas of mission. UF has specialty waypoints. For example, you can tell the app to orbit around a point in a 1-360 degree orbit and the app calculates the points needed for the flight giving you a nearly perfect orbit. The app also supports above ground and can convert back and forth from AGL and ATO altitude values. In addition KML and KMZ support for missions so you can load offline map files or create missions using apps like Google Earth and the app loads them directly. There is also a mission pattern feature that allows you to create a mission flight and to repeat the same flight pattern at any location.
For those wanting very accurate flight altitudes the app supports digital terrain files which can give the mission accuracy to 1 foot or less. This is mainly for mappers and environmental study scenarios but it's been used by other for various reasons.
The best way to see some of the differences is to scan the docs:
http://djiultimateflight.com/images/DJI Ultimate Flight V3.pdf
I also, as a thanks to user have a separate and free FPV VR app. Because most users don't tend to switch back and forth I decided a separate app was best.
In the areas of free flight we are nearly identical. UF has a virtual wall system that will stop the UAV from flying past a virtual border but many other modes are very similar.
Did I mention the app is < Litchi and NO in-app purchases?
What's coming, I cannot say. I used to make that mistake and it has only lead to other apps coming out with identical features shortly following so I keep them internally.
I will say that some of what I'm adding are additional mission point types that will allow to specify a point and a configuration and have the app calculate the flight pattern.