I have some business logic that monitors user activity, badges, audits and ranking. I plan to show the data in a admin and public webpage, so has its own web views.
I am trying to package this into Orchard. While I understand that orchard had modular architecture, but its unclear on what the differences are, or are they the same thing? So, my question is - how should this be packaged this as a widget or a plug-in, or does it not matter?
What would be the different from a) user perspective and b) developer perspective? or are they the same thing?
A module is a bunch of code that relies on Orchard's APIs, (and possibly on the API of other modules), packaged to be easily installed. Widgets are reusable pieces of UI. They are a part of a module, so the question sounds a bit like a category error ;)
Your features have to be packaged in a module, that's the only way to extend Orchard, but what's in that module seems to be the real question here. I'd advise you read more documentation to understand the basic concepts in Orchard, and then it should naturally click into place, and you should be able to figure out what concept to use for each part of your design.
These are good places to start: