point 1 and 2 seems contract to point 3, anything wrong?
All your three statements are actually correct, the difference is just in where column families are stored. Even though a row is composed of one or more column families, those column families are not actually stored together. So one column family will be written across multiple regions.
This massively speeds up scans - HBase only needs to read the column family you're scanning, and not the data associated with other column families.