Any of them will work.
The module is an MVC triad that can interact with a URL, display views, have its own models, helpers, config, etc. The module is full meat and two-veg.
A widget is just an autonomous intelligent partial. This means that for each instance, it requires several options from the control panel and rips out a piece of HTML.
A plugin is just a tag. This tag is used in the template, pages, news, anything and splashes out a piece of HTML. A plugin can have different methods in a class, each method will be a different tag.
, , PyroCMS v1.1, - . , , .., .
:
{pyro:contact:form}
, , . ?:)