Postgresql: What the default_statistics_target value really means?
It will sample 300 * default_statistics_target rows from each table.  It will use that sample to determine upto default_statistics_target most common values to store in that array, and upto default_statistics_target histogram bounds to store in that array. Plus a few other scalar statistics, like the number of distinct values.

The multiplier 300 was chosen because some statistical theory says that is how many you need to sample per each histogram bound you wish to compute, in order for your sampled histogram bounds to have an acceptable level of uncertainty.

The most common value list is used to help the planner predict the selectivity of equality expressions, like where state='CA'.  The histogram bounds are used to help the planner predict the selectivity of inequality or range expressions, like where income between 55000 and 64000