form or content type creation interface? I want users to insert information. I can define a complex Content type with multiple fields, restricting the kind of info user is allowed to insert (integer, text…), as well as rules… and expose it as if it were a form when user clicks on 'add new info'.

But I want more complex things to happen, for example, when user submits data.

I am confused about how to achieve that (hooks in a module?). 

Moreover, I have seen many tutorials around about creating forms (which imply a lot of coding for things like defining the data types, validation...that can be easily defined in Content type creation UI). Which difference would be between 'hacking' the 'add new content type' operation and creating a brand new form? 

Sorry, as you may notice I am a brand new beginner in Drupal.
You don't usually create a custom module just to have fancy fields in a form. If it can be done with fields, you do it with fields (i.e. you use the content type creation UI). For data types that doesn't exist in the core (e.g. links and entity references) there is almost always a module that let you add fields of those types to a standard Drupal entity.

You only create a custom content type if you want to do a lot more than just capturing the data. With "more", I means such things as computing aggregates, transforming it, combining it with other data, visualizing it, etc.

My rule of thumb is: If it can be done with fields and contributed modules - do it with fields.  If it can't be done with fields, create a custom module.  And in that case, I let the custom module also manage the form and data validation (but built-in top of the Form API).

If you want do just want to interact with the creating, validation or deletion of an entity, there is a lot of good examples of what you can do in the entity_example.module.

For instance, to have a submit handler that does extra validation before saving, look at function entity_example_basic_form_validate.