It does not work because the rows aren't distinctare all unique to start of with. Switch on SQL preview in views settings, and you will see that it adds the node's nid to the result in the SQL. Now add nid to the fields, and you will see something like
Book, nid:5
Book, nid:7
Book, nid:5
is not equal to Book, nid:7
. For distinct to work, whole rows need to be equal.
What you need is aggregation.
To do that, switch on aggregation for the view in the advanced pane. Then set aggregation to COUNT on the nid.
Now your result will look something like this:
Blog, nid:6 // ie 6 rows with field value blog
Book, nid:2 // ie 2 rows with field value book
Then, finally, to get the output you want, just hide the nid from the views display.
In essence, what you have done is to group by the field 'type', and to count how many nids (rows) there are in each group. And then hide the count as you don't need to display it.