Movie editing : VSE or compositor?
It's a very challenging set of questions. As with any set of questions, the answer depends on contexts. Once you begin looking at the issue of "quality", the solutions are quite clear. The outlines provided below have been with motion picture making since near the advent of film, and continue on to this day in many projects.

It should be noted that you should test your footage in the compositor to see if the result achieves the quality level you need based on your original question. If it doesn't, then the whole following answer may be moot.


  So what is the best way to manage editing of short-movies or longer movies?


What is outlined here is loosely what is described as an offline versus online post production process. The terms offline and online here, do not reference internet connectivity, but rather:

Terms


Offline: Sacrifice quality for performance in a context where performance is deemed more important than quality. This is typically the design context of tools that require real-time interactions, such as the needs of NLEs with editing where timing and beats is more important than precise float precision correctness.
Online: Sacrifice performance for quality in a context where quality is deemed more important than performance. This is typically the design context of tools that require float precision bitwise precise accuracy, such as the needs of compositors and grading software[1].



  Use the VSE and losing quality and flexibility? Use the compositor and losing any sensation of time, trying to align audio strips without even see the waveform? Or Blender is really limited for editing and I should learn an editing software?


The problem here is that your questions actually contain the answer. The TL;DR answer is that you should use both.

Outline

For those unfamiliar with how motion pictures typically are broken down in post production, the following is a high level summary. Animated projects have similar overlaps, but the footage is typically iterations of previsualizations. The path typically looks akin to:


Logging. Log the footage that has been shot.
Editing. Loosely can break down into Assembly, Rough Cut, Fine Cut, Final Cut. At this point the picture is considered "locked", and post production work can commence.
Post Production. Sound etc. forks off here. The outline continues to focus on the picture components. All relevant tasks now have a completed, frame accurate blueprint to work from.
Visual Effects. Work done using compositing tools on a frame by frame basis using the highest quality plausible.
Conforming. Essentially taking all of the various "bits", and assembling them back together into the final shape of the motion picture.
Grading. Grade on the final image frames.


At this point the picture can be reassembled back into the original blueprint's shape, and merged with audio, and encoded to various output encoding needs as required.

Visual Effects

So it would seem that you've managed to edit your piece. The question now becomes, how to achieve this sort of quality baseline with Blender?

Use your VSE edit as a blueprint. Sadly Blender's VSE lacks Edit Decision List support. An Edit Decision List is essentially a text file blueprint that is legible to many different applications. There are a number of formats, but essentially they all communicate the structure of an edit without passing around heavy pixels in files, allowing various softwares to reconstruct elements as required, using the precise edit timing of frames etc. So how to get a useful series of frames out of the VSE if we need to manually accomplish what EDLs are used for?


Make sure your media is using the highest quality inputs. Decoding in Blender from codecs will reduce all codecs, even at higher bit depths, to 8 bits per pixel. This is a limitation of the current system. If you decode outside of Blender using a tool such as FFMPEG, you can generate potentially highest quality sources, and then load those as still images in the VSE.
Keep tight organization on your shots. If you have a short that requires 192 shots, and 17 are visual effected, organize those 17 shots into discrete folders with subfolders of the iterations. One subfolder should hold the original archival frames, another with your compositor generated output. In the VSE, you can switch between the versions by re-linking your media to the iterated versions.
Note that where a shot overlaps another shot in your edit, you'll need to effect one, several, or all shots in the overlapped sequence individually. This will require dumping all of the frames for each shot involved in the overlapped sequence. For example, if ShotA consists of 200 frames and dissolves for 30 more into ShotB, which is 70 frames plus the 30 overlapped, you'll want to keep those shots on separate channels so you can dump the full 230 frames (200 + 30 overlap) from ShotA and the 100 (30 + 70) frames from ShotB.
Complete all per-shot visual effects.


Grading

After all visual effects are touched on, you should have an iteration of your motion picture with all archival shots in place, including the newer highest quality visual effects. You can re-link against the same strips and "reconstruct" the final picture. From there:


Keep all temporary effects and adjustments on separate layers. We are only interested in the highest quality archival frames, untouched. Use the timings and adjustment effects as part of your blueprint, perhaps via markers in your timeline.
Export all of the frames for your entire project, with black slugs in between. In the old, dark ages, folks would use junk fill on their workprints when preparing for a negative cut. This approach is similar in that it uses black frames where the current reel isn't being utilized. The key is that each reel is precisely the full length set of frames of your final work and remain perfectly in sync.
Load your picture locked set of reels into the compositor, or utilize scene breakdowns to work on smaller sections. One reel per input node.
You can then use a few mix nodes to reconstruct your edit for grading and proper linearized adjustments for grading etc.


[1] It should be noted that in rendering circles, the terminology is flipped. That is, an offline render is considered the best quality render possible.