The two may have similar practical effects, but they are useful for signalling your intentions.
So, a const value is something that is available to all instances of your class and will never change. A readonly signals that you have a data value that could be different for each instance of you class, but will be immutable once the class is created. Immutability can be a really useful guarantee when you are sharing the instance of the class between different consumers. In passing, in CLR Via C#, Richter prefers readonly public members to properties with only public setters, I'll have to dig it out and remind myself why.