Light travels at the speed of light because it has mo mass. Anything with no mass travels at that speed.
We believe that neutrinos have no mass (at least nobody has ever been able to measure it ) and travel at the speed of light.
But it may be that c has actually changed over time
See varying c in time time here:
http://en.wikipedia.org/wiki/Variable_speed_of _light
What actually sets the speed of light to the value we see is something at the forefront of ideas right now. People are very very interested in trying to understand how all of the fundamental constants are what they are.
However consider that physical space and time is quantised - you cannot have a distance smaller than the planck length, similarly there is the planck time the smallest meaningful period of time. One Planck length per Planck time is - you've guessed it c.
Now this is a very oversimplified idea neglecting all sorts of quantum mechanical issues such as tunnelling, virtual photons and Heisenberg but there's an underlying idea in there.
You may of course cry "foul" and ask OK then what sets the Planck length and time to be what they are and that we have really little idea of.
Maybe there are trillions of universes each with different quantum sizes and ours are set that way by chance or perhaps its set from a deeper underlying mechanism - right now we really don't know