Signing Assemblies

You are discussing the reasons why you want to sign an assembly that you have built. The assembly will be distributed with a desktop application you are building. The assembly won’t be shared by other applications.

Should you sign the assembly?
What are the advantages and disadvantages of signing?