The signalling mechanism is a way for the miners to vote ahead of time whether they will follow to the new fork or not. If more than 10% of the hash power of the network does not signal that it will follow, then the fork is called off and won't happen.
Bitcoin's rules specify what isn't allowed and violating that breaks compatibility, but the system can become more restrictive without becoming incompatible.
Huge chunks of the space of possible inputs was set aside for futures use by allowing them in blocks without imposing any structure (while disallowing them for loose transactions so nodes won't inadvertently relay transactions which are invalid due to rules they don't understand).
In that sense all future features are already complete latent inside the system and to make them useful the community need only chip away at all the permitted inputs which aren't compatible with the desired new functionality. :)