exe runs on windows machine. it is platform dependent. dll is a class library that can consume with any assembly. it run as a process.
EXE ASSEMBLY RUNS OUT-PROCESS WHEREAS DLL RUNS IN-PROCESS. EXE HAS MAIN AS STATING POINT WHEREAS DLL DOESN'T HAVE MAIN FOR EXECUTION