The tools that Blender provides for weighting are very powerful, but the ways to use them are not always obvious.
mirror skin weights on command
Blender's vertex group specials has a "mirror vertex group" operation that can be used to flip vertex groups about the object YZ plane. This might or might not be what you mean by mirroring weights; it's not what some people expect. It relies on perfect symmetry. In general, for symmetrical weights on a perfectly symmetrical mesh, you're much better off using a live mirror modifier (which can be applied at any time prior to the creation of shapekeys.)
use a spread sheet to see all the weights of each vertex
Also shown, the spreadsheet view, which can be used to show vertex weights. You'll see that it is not just showing weights, but additional vertex groups created for editing purposes or for other modifiers and general attributes like position.
copy skin weights between meshes
There's the transfer mesh data operation, from selected to active in object mode; but the real way to do this IMO is via a data transfer modifier, which isn't much more difficult to use than transferring weights and which is very, very powerful. If your mesh isn't symmetrical, or if you don't want to use a live mirror modifier, this is the way to copy weights from left to right or vice versa, by data transferring weights from a mirrored duplicate of the mesh, but it's good for so much more than that (and can be used as a primary means of weighting, almost in lieu of weight painting-- if you want, you could cut up a plane, assign it weights, and data transfer its weights to essentially paint a 2D projection of weights; you can use it in conjunction with vertex group limiters to mix weights from different meshes smoothly; you can even use it for doing live weighting.) Data transfer modifiers (and vertex weight modifiers in general) can even be applied on meshes with shapekeys.
prune small weights
There are a number of operations only available in weight painting mode; I get a lot of use out of clean, normalize all, smooth, invert, levels. Pruning small weights is done with a clean operation.
remove unused influences
Like automatically delete unused vertex groups? That one, I don't know how to do in Blender short of writing a script. However, I'm pretty sure there's a BSE post describing the script you need.
Unasked, I get a lot of utility out of radial and linear gradients, out of the weight painting falloff curve, out of occasional GN modifiers to do non-destructive weight editing, and out of creative use of autoweights, on temporary meshes or temporary armatures. The traditional, dab dab dab weight painting, I almost never use.