I think “joinedge” is to be regarded a “last resort” command that should be considered only when everything else has failed AND when you are sure that you have no further modeling operations to perform on the polysurface. Like for instance when you have to have a watertight solid for use in other applications and can’t fix those naked edges.
Then again in these cases 80 % of the time it fails to fix all edges so I would revise my advice to “avoid at all cost”
I didn’t know of the “CrvDeviation” command. Good to know.
Sadly it has the same usability issues as the new “EdgeContinuity” in Rhino 7 Wip: edges need to be selected one by one. Even worse: (for “CrvDeviation”) polysurfaces need to be exploded to test edge to edge deviations.
So for efficient examination of complex polysurfaces both of these options are not practical at all in their current form.