I don't know much about ggplot2 (in fact, next to nothing), but let me try to provide an interpretation of bins from another perspective. Also, from the documentation, I couldn't find the bins argument.
When you use bins in a one-dimensional histogram, their purpose is to divide the range of the entire range of the available data (an interval on \mathbb{R}) in some parts. Then you find out how much proportions of observations are in each of these parts. So, obviously if you increase the number of bins, the bars will have lesser width (most probably that's what you meant when you said skinny), and they will have less number of points, but not necessarily less proportions on an average, as length of each intervals will also decrease.
Now, let's consider the two dimension. Here's the range of the available data is a two dimensional shape (a subset of \mathbb{R}^2). So, generalising from the previous argument, here also you note the proportion of observations (same as density) in each of the parts.
The more bins you use, the finer the parts are and hence you can infer with more precision. Here, in the two pictures, note that the picture with 5 bins has crudely divided the region, whereas the one with 12 bins has made finer partitions (regions which are in same shade of red or blue in case of 5 bins are now divided in different shades of red and blue) and so it is possible to distinguish between closer regions.
I'm not sure whether it makes any sense at all or not.