Yes, all game objects should be entities with an appropriate component set, and each component should have a system that controls it.
The whole idea of ECS architecture is compartmentalisation of tasks, and to favour composition over inheritance(google that phrase).
The benefit of this is you do not need a whole load of derived game objects which may or may not have an API that you do not wish to use, and completely avoids the inheritance based "deadly diamond" problem. This makes the architecture extremely flexible, and keeps the entity class extremely simple.
Furthermore, if you wish to create say, UI entities, then you can simply create them with a different component set, which has no relevance to the game world, but is of interest to the graphics and input systems.
I could go on and on about the benefits of this design philosophy, which would turn this answer into a wall of text, so I will stop here and say to check this link, which will give you some more general information about the pattern, including it's drawbacks.