I think the best comparison is DatabaseServices.Entity and Geometry.Entity3d.
Both Entity and Entity3d are abstract classes. Entity has derived classes such as Line, Circle, Hatch..., Entity3d has derived classes such as Curve3d, Line3d...
Entity is inherited from DBObject so it has ObjectId to store on DWG database for graphical presentation.
Entity3d is more lightweight, but its derived classes have all geometry calculations that Entity and its derived classes don't have.
For example, if we want to find projected/apparent intersection points between a line and an ellipse, we don't use Line and Circle entities (derived from Entity) and write our own math calculation. Instead, we will use Line3d and EllipticalArc3d objects (derived from Entity3d) and use method EllipticallArc3d.ProjectedIntersectWith() to make the life easier.
In short, if we want to store entities on DWG database, use Entity's derived classes. If we just want to do some advanced geometry calculations, use Entity3d's derived classes to make use of all built-in math functions.
-Khoa