The density of a cake or bread largely has to do with the leavening (bubble formation). Cakes like this one are chemically leavened: baking powder or baking soda reacts with acids in the other ingredients to create CO2 bubbles in the batter (like when you combine baking soda and vinegar). There are a lot of factors that determine the end result, including the protein content of the flour and how much the batter is mixed before baking. One significant factor in this case is the physical weight of the added ingredients (carrots, coconut, raisins, nuts). In a plain cake, the pressure from the expanding bubbles pushes the cake upwards, making it rise. If you add a bunch of stuff to the batter, the bubbles have to physically lift those chunks in order to make the cake rise. The bubbles exert the same amount of pressure, but there's more weight, so it comes out with a dense texture.
Another way of thinking about it is in terms of what would happen if you replaced some of the batter with chunks of things. The batter has the active chemicals throughout, and will form bubbles and expand. The chunks contain no bubbles, and just sit there. So with the same amount of cake, you get less bubbles, and hence less lift for the same amount of batter, leading to a dense texture.