What's the key difference between:
amazing_forms_contribute:
path: 'amazing-forms/contribute'
defaults:
**_form: '\Drupal\amazing_forms\Form\ContributeForm'**
_title: 'Conribute page'
requirements:
_permission: 'access content'
and
amazing_forms_contribute:
path: 'amazing-forms/contribute'
defaults:
_**controller: '\Drupal\amazing_forms\Controller\ContributeForm::content'
link_id: 'arm.admin_product_variants_create'**
_title: 'Conribute page'
requirements:
_permission: 'access content'
When I should use a controller? And when I should use a form?
Can I combine both (use controller and form)?
What is their limitation?