Trying to get my head round functions.php and am wondering how often it is loaded?
Simple answer is once. As any other PHP file otherwise it would likely cause crash because of function redefinitions.
More complex answer is there can be actually two different
functions.php loading - one for parent theme and one for child theme. Tricky part here is that child theme's loads before the parent's, which can at times be counter-intuitive for some purposes (like working with hooks).