Since they had the same TNG uniforms in Generations they should have just kept things simple and have everyone in the same uniform. Long after Generations we still see Officers in the TNG uniforms in DS9 on starships.
According to Richard Arnold at the time, the licensed tie-in toy company, Playmates, pressured Paramount for some form of uniform change for "Generations", "First Contact" and "Insurrection", because they knew that some collectors would cherrypick the waves of new figures and only buy the all-new characters and aliens (ie. Soren, Lursa, B'Etor) or new-costumed figures like Worf in holo-pirate outift and Kirk in spacesuit. The licensees pay big money and want new lines of figures to sell well.
If "Generations" had used TNG-style TV costumes they wouldn't have sold many new small figures of the regular characters. As it was, when the new uniforms were rejected, they'd already proceeded to far to change the sculpts.
To doubly ensure sufficient sales for "First Contact" figures, they also tried changing to a new height ratio, although that backfired and collectors resisted the whole wave.
At least with FC uniforms it became consistent, but for engineers there could also be a worker jacket with pockets and stuff that can be used to make it more practical.
On VOY, B'Elanna Torres only got a unique engineering jacket when the actress had a real-life pregnancy to hide. She stopped using it when her baby was born.