The options you have do not necessarily follow a hard rule for implementation. These options give you the flexibility to adjust to the constraints or preference in each environment. Are you more comfortable with Powershell? WMI is available right out of the box, where SNMP requires setup. Different systems may require you to leverage different polling methods.
I use WMI to monitor the OS. I use SNMP to monitor hardware via mgmt. cards. I use PowerShell for custom stuff.
Servers can be polled via the following methods/protocols; Agent, WMI, SNMP, with all of these providing hardware health, as long as the server management agents are installed i.e. HP Insight etc.
Which to use depends on a number of conditions with WMI being the most common for Windows servers. Agents tends to be used for remote servers or for servers in secure networks and provide the same level of information as WMI provides. SNMP, while slightly more efficient and when I say slightly I mean nothing that will be noticeable, but offers a reduced level of data collection compared to WMI.
Regarding your PowerShell comment, this is used within the SAM module for Orion and is required for some data collection such as AppInsight for IIS/SQL/Exchange (amongst others) and is therefore recommended to allow if you possibly can.
The following KB article may be useful for you Polling methods used by Orion - SolarWinds Worldwide, LLC. Help and Support
I hope this helps.
Please provide me some links on Hardware fault management/alerting using SNMP or WMI
It does not matter how the data is collected (WMI, Agent or SNMP), as once the data gets to Orion, the database structure will normalise the data to allow the Alerting engine to work off of this.
There are a number of default hardware based alerts, which I suggest you review to determine how they should be updated to work for you.