Thanks for that feedback @Maciej_Eckstein.
Several of these probems (the multiple polygons, not being able to place a point on a vertical wall) come from some (possibly incorrect) assumptions made by the implementation. It is storing the annotations as latitude + longitude and then dropping them down onto 3d surface is at that location. This works well if you change the terrain or show/hide a tileset as the annotations automatically adjust. However as you discovered it fails when trying to work with data that has overhangs or vertical surfaces. Sharing your use case will help us prioritize what to work on.
The zoom to issue is something that we are aware of and hope that there will be a fix in CesiumJS soon.