ORS uses Graphhopper as its core routing engine. At time of this writing it is based on GH v4.0. You are right in thinking that they are very similar.
Basically all of Graphhopper’s open source code is in ORS, but not all of GH’s features are integrated into the ORS API. It is usually easy to extend ORS with a GH feature when needed.
In addition ORS provides an open source implementation of Matrix and the CoreALT algorithm (useful for routing with restrictions).
Custom profiles are not yet provided through the API, however, they are on our wish-list.