The registry size changes when you install and unistall software and drivers because that is where they store their initilization and component linkage information.
Some applications use it as a storage area for inter and intra process communication and then delete their registry entries when the application is closed.
There are probably more reasons but that's the general outline - the registry is a semi-permanent storage area. It's permanent between shutdowns and variable when things are installed/unistalled or intialized and then shut down.