They are in form of (DLL's) Dynamic Link Libraries. They run in the memory space of client application (that's why they are termed as in-process). If they crash, they crash the entire client application with them as they operate in the same memory space as that of the client application.
Out-process Component:
They are in the form of (EXE's) Executables. They run in different memory space as that of client application (that's why they are termed as out-process).If they crash, it doesn't affect the client application as they operate in a different memory space as that of the client application.
Remote Component:
Remote components are just like any other component but the only difference is that remote components run from a separate remote location via a network.They are implemented using DCOM (Distributed COM).