The idea is that the "X" stands for "experimental." NX- is a prefix for prototype ships. Note that in The Undiscovered Country, the Excelsior's designation had changed to NCC-2000, because it was no longer an experimental testbed.
Archer's Enterprise was called NX-01 because it was the first prototype Warp 5 vessel. However, the producers ended up varying the usage a bit, since its class in general was referred to as the "NX class" and subsequent ships (such as Columbia NX-02) used the same prefix. But that was Earth Starfleet rather than the Federation Starfleet, so there could easily have been usage drift over the course of a century.