I feel like VAE's and Normalising Flows are used for different purposes in general, you can not build latent representation with the latter for example.

Also Normalising Flows restrict the architecture to use invertible neural networks in practice, since you need a bijection by Normalising flows construction. However such an architecture is not as expressive as a normal fully connected layer or convolutional layer. Also for Normalising Flows you have to keep input and output dimensions of the network fixed, which imposes other restrictions in practice.

VAE's on the other hand allow to sample your objects distribution by exploring smaller latent distribution, this is now used in diffusion networks for example. There is even a connection between Denoising Diffusion and VAE.

Overall its just different architectures of neural networks and different approaches to generative modelling.