Joe,
It all depends on your own business needs. If you can publish to your own ArcGIS Server then you have the option to build applications to consume your data using any of the following APIs: flex, silverlight or JavaScript. Which one to use can vary for different reasons, such as what type of client are you aiming your application towards, mobile devices will probably handle JavaScript applications better than silverlight or flex. I personally cannot use silverlight as we are on a closed system where the silverlight plugin is not installed. To use Flex the client will have to have the flash plugin installed.
You may be also more comfortable programming in one language over another. Flex and silverlight have configurable viewers that you can download, where you will probably have to start from scratch with the JavaScript API. Flex seems to have more of an active forum and there are plenty of samples which do not required you to have to get too deep into programming.
ArcGIS online is a good option if you do not have access to your own arcgis server. You can do a limited amount using the free options but you are limited to things like only being allowed to upload 1000 features etc. If you do have a budget you can buy subscriptions to AGOL that provides more options. Sorry but this is not really my area so I can't really tell you what these are, but I believe you can publish data from ArcMap to the online servers.
I agree with you that there are many options available but first you need to decide what your end application needs to do and who your are targeting.
Hope this helps
Regards
Anthony