The BaseEntity is the class that represented the Entity in C# before 5.3 (if I remember correctly). The BaseEntity class was very confusing, since it was both an Entity and an EntityComponent at the same time. That's why since 5.3 we fully implemented the component system in C#, which caused that the BaseEntity to be refactored to the Entity class. The Entity class is now sealed, so it cannot be inherited from.
To modify the behaviour of the Entity you add components to it, which are classes that inherit from EntityComponent. In 5.3 the only way to add a component to an Entity is by calling AddComponent<TypeOfComponent>() on the Entity, or by adding the EntityClass-attribute to the class so it is exposed in the Create Object menu under the Entity category in the Sandbox. An example of such an attribute can be seen in the Rolling Ball template on the Player class.
To interact with other components on an entity you can get them by calling GetComponent<TypeOfComponent>() on the target Entity. This returns the instance of the component so you can immediately use it for interactions.
For 5.4 we've made the component system a lot better with for example a button in the sandbox that lets you add components directly to existing entities in the scene. On top of that we've made it more stable and better to work with from code as well. Also the EntityClass attribute is not anymore necessary to expose components in the Sandbox, all classes that inherit from EntityComponent will automatically be selectable in the Sandbox. I've also updated the whole C# documentation so it's up to date and hopefully less confusing for all of our users. All of this will of course be released once 5.4 is released.
The most up to date C# documentation for 5.3 is the template documentation
. It gives a broad explanation of how the C# templates work. If you have more questions about C# feel free to ask of course.
Hopefully this answers your questions.