I been using Blender for a while now but just realized that I never really understood how to properly deselect so usually I just make completely new selection instead of deselection.
As I understood you can basically shift + double click which kind of does the trick but not always. For example if you have mesh under the mesh you are deselecting then you cannot deselect at all. Added few examples below:
The deselect works however its a bit weird to shift + double click for it to happen.
De select does not work with shift + double click