After watching the series finale of Star Trek Enterprise, not a single bridge officer has acquired additional rank in the 10 year mission of the NX-01. How is that possible?
Most likely it is because the producers of the show forgot. In the military it is very common for officers and enlisted to be promoted in rank while still occupying the same job. It is even possible (in the real world, anyway) for two officers to have the same rank but one be in a subordinate position to the other. For example, two captains could be CO and XO of a ship or unit.
At higher ranks it is certainly possible for someone to go 5-10+ years without a promotion, but they would be the slackers (which of course do not exist on the Enterprise). But at lower ranks (ensign, LT) it would be almost unheard of for someone to go even 2-4 years without advancing.
I am basing all of this on my experience in the U.S. Coast Guard. Starfleet is clearly based on the actual U.S. Military (Most likely Navy, though the Coast Guard rank structure duplicates the Navy's). Perhaps Starfleet is intended to be different. I suspect that it was just an oversight.
Out-of-universe, in the first place it is generally a good idea to maintain ranks in a more static fashion, so that you can more readily identify who's being talked about by rank without having followed each episode.
Also, in the real-life military, ranks above Army Captain (Navy Lieutenant SG) are not easily obtained, because there are a limited number of posts requiring the rank. Even with meritorious service and high decoration, commissioned officers retire as Navy Lieutenants (or Army/AF Captains) all the time, simply because there isn't room at higher levels of the chain of command. Lieutenant Commanders are routinely first or second mates (XOs, COWs) of various ship classes, and if they worked up through the flying ranks they're wing commanders. Commanders are captains of smaller ships, squadron commanders of carriers, and XOs of cruisers/carriers/subs. Captains are the commanding officers of most ship classes and XOs of flag ships. All told there are not a lot of those jobs available in the field. Getting to Admiral is even harder; in the US Navy the maximum number of admirals is limited by statute, so the selection of group and fleet commanders and chiefs of staff becomes very political.
So, back in-universe, most of the TNG bridge staff besides the helmsmen extras are, in present-day Navy ranks, already pretty high up there by the events of Star Trek: Generations:
- Captain Jean-Luc Picard, CO
- Commander William Riker, XO
- Commander Deanna Troi, Ship's Counselor/Second Officer
- Commander Dr. Beverly Crusher, Chief Medical Officer
- Lieutenant Commander Data, Second Officer/Chief Science Officer
- Lieutenant Commander Worf, Chief Tactical Officer (thought he made Commander; guess not)
- Lieutenant Commander Geordi LaForge, Chief Engineering Officer
Remember that this is 11 years after the maiden voyage of the Enterprise-D, and the only major promotions during the series were Troi's, Worf's and LaForge's. That is quite a while for so many to go without a promotion, especially Riker (who specifically turns down a command post three times before finally accepting command of the Titan at the end of Nemesis). However, like I said, they're all at very "mature" ranks.
Back in the TOS era, pretty much everyone got bumped up a rank between ST:TMP and ST2, and some more than that:
- Rear Admiral (demoted to Captain) James Kirk, CO (started TOS as Captain)
- Captain Spock, XO/Chief Science Officer (started TOS as Commander, having served on the Enterprise under Captain Pike, and was the Captain of record of the Enterprise as of the start of STII)
- Captain Montgomery Scott, Chief Engineer (started TOS as Lieutenant Commander)
- Commander Nyota Uhura, Communications Officer (started TOS as Lieutenant)
- Commander Pavel Chekov, Helmsman/Tactical Officer (also served as XO of the Reliant; started TOS as Ensign)
- Commander (promoted to Captain) Hikaru Sulu, Helmsman/Tactical Officer (also served as Commander of the Excelsior; started TOS as Lieutenant)
- Commander Dr. Leonard McCoy, Chief Medical Officer (started TOS as Lt. Commander, already well-experienced; would have begun his Starfleet service two ranks higher as Lieutenant due to his medical degree, but never intended to be a Starfleet career man)
That's a LOT of senior staff to still be aboard the same ship, and some of the crew do branch out: Chekov is XO on the Reliant, Sulu commands the Excelsior, and Spock spends some time as Ambassador to the Klingon Empire as well as officially captaining the Enterprise. However, it is a much more realistic promotion timeline; over about 8-10 years from the first TOS episode, Chekov went from entry-level officer to XO of a ship. Sulu went from helmsman to commanding officer over a slightly longer time. Kirk would have been a Vice Admiral by the time he died if he'd played by a few more of the rules (not all of them, but maybe not stealing a Federation starship and blowing it up?)
Now, it's not unusual for a "flagship" like Enterprise to have that kind of senior staff on it, but it is unusual for a flagship to not have a "flag officer" (aka Admiral) on board. Also, there were plenty of starships that were getting along just fine with bridge staff of much lower average rank. Here's the shakeout of DS9:
- Commander (promoted to Captain) Benjamin Sisko - Commanding Officer
- Bajoran Colonel (equiv to Commander) Kyra Nerys - First Officer
- Lieutenant Commander Worf - Tactical Officer
- Lieutenant Commander Jadzia Dax (deceased) - Science Officer
- Lieutenant Julian Bashir - Chief Medical Officer
- Lieutenant JG Ezri Dax - Counselor
- Senior Chief Petty Officer Miles O'Brien - Chief Engineering Officer (seriously? O'Brien never got promoted during his time on both the Enterprise and DS-9?)
- Constable Odo - Chief Security Officer ("Constable" is an unofficial title; Odo has no official rank in either the Bajoran or Federation complements on the station)
... That's a much more regular staff list (non-official rank of "Constable" notwithstanding; call him a non-com, maybe a Petty Officer). Here's Voyager's command staff:
- Captain Kathryn Janeway - Commanding Officer (her first command)
- Provisional Commander Chakotay - XO (the Federation-appointed XO was only a LtC and was KIA in the pilot)
- Lieutenant Commander Tuvok - Officer "of all trades"; chiefly Security/Tactical Officer
- Provisional Lieutenant JG B'Elanna Torres - Chief Engineering Officer
- Lieutenant JG (demoted to Ensign) Tom Paris - Helmsman
- Ensign Harry Kim - Operations Officer
- Seven of Nine - Science/Astrometrics Officer (no official rank, but she seems to have authority over various non-coms and ensigns on board, so call her a Provisional LtJG)
- The Doctor - Chief Medical Officer (no official rank; the official CMO was a LtC who was also KIA. By convention any medical officer starts as at least a Lieutenant, but The Doctor isn't "conventional" in any sense. He does, again by convention, have ultimate authority in any medical decision aboard ship, superceding even Janeway)
... So, even before things went pear-shaped for Voyager, it had a very junior crew.
So, in summary, what you see in the Star Trek universe is both pretty normal and not so much; decorated senior officers gain rank and seniority in their Starfleet careers on famous ships like Enterprise, and then some will stay on the Enterprise of their day even when it begins to hurt their career paths on paper, because it's a much more exciting job than being Captain of any other ship.
Most likely, because they don't get all that many new recruits to fill out the ranks (or personnell losses/departures to allow for promotional slots), which is a prerequisite of a promotions process. If you don't have the Captain GTFO the vessel to retire or become an Admiral, his XO can't very well be promoted to Captain. If First Lft. doesn't get promoted (due to the same reason), then you can promote HIS subordinates to First Lft. Repeat recursively.
I suppose that one could argue that the star ship crew were rarely very well behaved, and so would not have attracted the right sort of attention. When they returned back to Star Fleet, they could offer explanations and discuss their positive contributions, and so after a while back at home base, when they have shown that they are suitable for promotion, they achieve it.
Which sort of means that they only achieve promotions - richly deserved - between versions, when they are doing nothing of interest. As others have said, they are largely senior staff anyway, so promotions on the ship would not mean a great deal, and they need to do some political face-showing when they return home to achieve them.
And I can see that those who would be promoted off active service - to Admiral for example - may resist this for as long as they can. Which tends not to lead to many other chances for promotions below them.
In theory, any crew member could get a promotion in rank without a change of the duty position. It would be awkward if a subordinate suddenly outranks a former superior, but it would be no problem at all if both are the same rank. (The superior would still have more time in grade and hence be senior.)
If everybody on a ship got promoted one grade, nothing would really change except for the rank insignia. The former Captain (now an Admiral) still outranks the former Commander (now a Captain). They would get more pay deposited in their accounts back home, at least while the Federation still uses money, and they would outrank crew with comparable jobs on other ships. But way out in deep space, the promotions would be meaningless. A bad joke.
In the real world, this kind of rank inflation would be uncommon, but you can find some examples. Back in WWII, there were sergeant pilots. These days, most are officers.
So the in-universe explanation is probably that promotions come after a careful evaluation at the end of the multi-year mission, not in between. The real reason is not to confuse the viewers. "Captain Archer" has to stay "Captain Archer" ...