...I also read that doc and couldn't really figure out the distinction between data-types and field-types... both of them can be used in field declarations, so where exactly is the difference?
The idea is that data-type is a more general concept than field-type.
For example, several field-types could refer to the same data-type, maybe overriding some of the data-type attributes.
If you're thinking about form fields and what Bruno calls "form beans" the boundary can be hard to see, but data-types could also be used to automatically generate "business beans" classes or mappings to such classes.
-Bertrand