Read it here
- If you are frequently updating the Assembly,
then you always better to deploy it in BIN. Since, Assembly will be
reloaded automatically just after the updating. But when you update
the Assembly in GAC, you have to restart the IIS (IISRESET) to grab the
new version. The reason is GAC keeps the assembly in Cache.
- When you deploy your Assembly on GAC then you can access
the Assembly from any SharePoint web application. But when you deploy
Assembly in web application’s BIN folder, then it can only access from
the given web application. Anyway, if you have all-purpose web part,
you better to deploy it in GAC and avoid the multiple Assembly
deployments in BIN.
- If you have multiple versions of same Assembly, then you
have to deploy it in GAC. Coz, GAC manages the multiple version of
given Assembly, but BIN doesn’t.
Click here to read full article