Why does Drupal need list (integer, float AND text) and what is the difference? Could somebody explain why Drupal needs list (integer), list (float) AND list (text). What is the difference?

Values are set in key | value pairs. So:


list integer - saves key in database in integer format
list float - saves key in database in float format  
list text - save key in database in varchar format


Why do we need list (float) and list (text), if we have list(integer)?

An explanation with examples would be great.
Occasionally you want to access a dropdown with Jquery - in this case it can be useful to have keys which are more than just integers. 

Nothing I ever did, but you could use a dropdown to apply different classes to an element:

style-red|Red Layout
style-blue|Blue Layout


The value is the human readable label and the key is the class to switch around with jQuery. If you had used '1|Red Layout' and '2|Blue Layout' you need to tell JQuery that is has to translate key 1 into class style-red and key 2 into style-blue before applying them. So whenever you would add a new key|value pair you would not only need to edit your css but also your jQuery code, while using text keys you only need to edit the css file.

It is not a real world example, but you get the point. 

For the float it is similar. Imagine you have a list with prices each with a human readable label plus a float you can instantly use for calculation in jQuery.