Função vs. Procedimento Armazenado no SQL Server

Eu tenho aprendido Functions e Stored Procedure por um bom tempo, mas eu não sei por que e quando devo usar uma função ou um procedimento armazenado. Eles parecem iguais para mim, talvez porque eu sou meio novato sobre isso.

Alguém pode me dizer o porquê?