i'm able to create raidz with diff sized of hard disk. where im missing?

You are missing the fact that the various component devices used size will be rounded down to the smallest capacity - ie: supposing you create a RAIDZ with 3x 2TB disks and 1x 1TB disk, total pool capacity (including parity overhead) will be 4x 1TB (or 3TB excluding parity).

Similarly, a 2-way mirror between 1x 2TB disk and 1x 1TB disk will end with only 1TB usable capacity.