There are terms used in the opening post that might mix things up.
Solid modeling is a modeling paradigm of its own (Solidworks, brl-cad) that is used to describe objects with volume, or solids in other words. Commonly used for technical purposes and solid nature of the objects allows for datapoints inside the objects for stress simulation etc.
Polygonal modeling deals with meshes, originally developed and still mostly used for visual purposes. It’s approximation of curves and surfaces, meaning that it’s a surface type modeling paradigm and we are approximating them instead of describing them with absolute precision. Meshes are approximations and refinement algorithms (like Catmull-Clark with subdivision surfaces) are also approximating, not interpolating ones.
Surfaces might mean polygonal surfaces, or it might be in the context of NURBS, which is also a surface type modeling paradigm. Blender has them but it’s mainly a polygonal modeling application. NURBS tools are old and not that great.
Curves like bezier and others can also be used as helpers for polygonal modeling or animation, and they can be used to define limited kinds of surfaces. Tube-like objects are very easy with those. Could also use them as guides for another curve shape to create extrusion-like structures.
As for the question, if the project is for visual purposes, could model and animate in Blender. If you need precision parts or accurate simulations of a real world, use something else. If you use Blender, you could use polygonal modeling tools and curves. Could also use NURBS surfaces on some parts if it’s easier for you, but that would be just to help creating meshes (eventually converting to a mesh).