The camera hierarchy goes like this:
SmoothCamera extends -> ZoomCamera extends -> BoundCamera - Zoom cameras adopt Bound camera properties/methods. Smooth cameras adopt Zoom camera and Bound camera properties/methods
Choosing a SmoothCamera you'll have all the functionality from the others.
The difference between them is that they simply gain functionality depending on which you pick.
BoundCamera can be free moving, the position can be set manually by yourself or can be bound to a particular sprite or object to follow the x,y coordinates of that object constantly.
ZoomCamera is like BoundCamera, it can be freemoving, or follow an object but this time you can dynamically set the zoom level and make handlers to zoom in or out on the scene (You could add pinch to zoom functionality with this camera).
SmoothCamera can zoom, free-move, follow and additionally have a speed setting that allows it to tween from one position to the next. So when following an object it will move smoothly from point a to b, not snap to the object constantly. These parameters are generally set in the constructor.
I hope that makes it easier to understand.