Color sensing may seem pretty complex task, but in reality you can experiment with this using three LEDs and LDR. ZXLee built a simple sensor for Arduino which allows him to detect colors. The idea lies behind using red, green, blue LEDs and Light Dependent Resistor (LDR). He shines with each led on measured surface and then captures LDR values. With some calculus he was able to recreate color with another RGB LED.
You can think, where suck color picker could be used. One of fun devices could be real world color picker. Designers should find it useful where color can be simple picked from surface and added to sketch if needed. This is great example that not everything has to be complex and expensive. Anyway if you are looking for precise measurements you should look for professional grade tools. From my point of view sensor could be improved a little bit. Sensor could have cover to avoid ambient light on measured surface. But there is always something to improve.