What version of directX is available to you is based on your graphics card. Each version adds new features and possibly performance upgrades. To maximise the potential audience, choosing to use a lower version means the likelihood of more consumers being able to play your game because more lower grade graphics card can supported.
So the game engine can easily allow detection of different versions, its just a few lines of code. However to take advantage of new features introduced with each version you would need to code in things to work with those. This would mean that the experience would be different depending on what your graphics card is. Additionally extra work for the developers to support the differences depending on why features you have.
Have a read of this as there are a few good explainations - http://gaming.stackexchange.com/questions/7829/whats-the-difference-between-directx-10-and-directx-9