Where can I find complete documentation of hook_field_info?
The only documentation you find about those arguments is the one you already linked (hook_field_info()).
The reason that documentation is not very specific is that each field implemented from a module can use any value it needs. For example, the Image field implemented from the Image module uses the following keys for the settings (see image_field_info()):


uri_scheme
default_image


Vice versa, the Decimal field implemented from the Number module uses the following keys (see number_field_info()):


precision
scale
decimal_separator


The default formatter, and the default widget are (respectively) the machine name used for the default formatter, and the machine name of the default widget. The different between formatters, and widgets is that a formatter shows the value of the field, while a widget requests the values necessary for a field.

If you want to see which values are used from a field, you need to check the implementations of the following hooks done from the module implementing the field:


hook_field_info() 
hook_field_widget_form()
hook_field_widget_info()
hook_field_formatter_info()