I am missing auto-complete in QGIS. From other answers I understand that you need to snap around the hole and you can't just let QGIS fill the hole, is that correct? It's bothersome when it's a lot of verticies.
Since QGIS 3.20, you can use the newly introduced Streaming digitizing mode. In combination with tracing (as mentioned in the comment by @Erik), this allows for a very neat and easy way to create polygons covering the holes, without clicking for vertices.
During digitizing, simply click
R to toggle from normal to streaming digitizing mode. Than just draw freehand (move the mouse, without clicking) around the holes. Only once right-click to finish your polygon.
If you cover the whole extent of your polygons like this, all holes will be covered in one step. You will get one multipart-polygon that fills exactly all the holes. To get single-part polygons, select it, run
Menu Vector / Geometry Tools / Multipart to singleparts and check the box next to
Selected features only.
Drawing freehand polygons with streaming digitizin mode activated (1) and tracing activated (2). In red you see the mouse movement - this will create the polygon from which overlaps with the existing polygons will be extracted - you will only getg new polygons where the holes were:
Result: polygon fill color is set to transparent, so you see that there is no overlap (only at the upper left for demonstration purpose, created in the initial polygons):
A solution for many holes to fill at once:
Draw a new polygon covering all holes completely. Let's call this layer
Menu Vector / Geoprocessing Tools / Difference, set
Input layerand the original polygons as
Menu Vector / Geometry Tools / Multipart to singleparts.
Delete the parts that fall outside the holes.