I recall reading years ago in the appendix of the Generations
novelization that when they ditched the newly designed uniforms (for whatever reason that was), they decided to use the DS9 uniforms for the movie along with the GEN uniform commbadge. However, after watching some of the footage, it was decided that, when viewed on a cinema screen, the DS9 uniforms looked too cheap, so they wanted to go back to the TNG uniforms. Unfortunately, several key scenes (astrometrics and the Picard/Kirk/Soren battle, perhaps?) had already been shot in the DS9 uniform, so they had to reshoot some of the scenes to contain both uniforms if they were going to use the TNG uniforms at all.
It all sounds rather crazy, and I've not heard the exact same story since on this board, so take that with a grain of salt.
Anyway, for whatever reason Generations
ended up the way it did, there's your cause for Voyager
wearing DS9 uniforms. VOY was supposed to use the GEN uniforms, thereby exploiting the movie's larger budget. When GEN ended up not producing these uniforms and going with DS9, so too did VOY.
In the past, my assumption was that the producers thought the DS9 uniforms looked less "silly" - this was the start of the period in the 90s where color in fashion and movies started being downplayed in favor of black (which hit full force a few years later when everything had to look like The Matrix). I still think this might have had something to do with it, though it's pure speculation.
My in-universe theory is pretty much the same as the others in this thread - the DS9 uniform was created as a casual variant, which was either just for space stations or just mostly relegated to space stations and more strenuous duties, such as maintenance work in the lower decks. This uniform was either introduced at the same time as the TNG season 3 uniforms and just not seen on the show, or came shortly after (in the meantime, the old season 1 uniform continued use as the casual uniform variant, explaining its presence on extras). Shortly after season 7 of TNG, Command loosened regulations on the uniform, allowing it as an optional choice if the Captain allowed it. Alternatively, it was always allowed, either Picard just softened his rules or we just never saw it on camera. When Janeway took command of Voyager she preferred the casual variant, but for professionalism wanted everyone dressed alike, and thus made it the ship's uniform.
The unknown question is why Voyager never started wearing the FC uniforms after they made contact with the Federation. I'm not sure if it's been shown in canon, but in the novels instead of washing uniforms, crew members throw their uniforms in the recycler at the end of the day and replicate a new one the next morning. You could mandate a uniform change at 1 AM and the first shift crew members would all be in the new uniforms when they came on duty.
I assume the out of universe reason would either be not wanting to change the look of the show and making it look like DS9, or not having the budget to make replacing all the uniforms worth it (DS9 could replace the uniforms, I assume, because most of the extras were in civilian or alien clothes. On VOY you'd have to replace every single costume because the DS9 uniforms would have stuck out like a sore thumb on the extras.)
And I just spent more time writing about fictional uniform policy than anyone should EVER.