Diferença entre numérico, float e decimal no SQL Server

Eu procurei no Google e também visiteidecimal e numérico eAssistente do SQL Server para obter a diferença entre tipos de dados numéricos, flutuantes e decimais e também descobrir qual deve ser usada em qual situação.

Para qualquer tipo de transação financeira (por exemplo, para o campo salarial), qual é a preferida e por quê?