Yes of course... That's what we use since the beginnning
But it's rather simple, it basically allows you to construct IFC entities. It's up to you to know what you are constructing.
The serializer is a much more advanced feature. It basically takes an OCC shape, any shape, and tries to build an Ifc Shape representation from it, the best it can (IfcFacetedBrep in most cases, IfcAdvancedBrep is there are nurbs surfaces, but it can also do 2D objects). So all you need is to create an IfcProduct and attach the representation to it.
But of course this is a rather simple bulk geometry conversion. It doesn't go into the detail of building extrusions, booleans, etc...
In our IFC exporter, if you turn the serializer option on, it will be used only for shapes where we can't make a better choice ourselves (extrusions for ex). It will basically be used where we otherwise would triangulate curved surfaces.