Let's break this into pieces:
dd if=/dev/zero bs=1G count=20
The dd command copies data. The input data is from the device that generates an infinite number of zeros. The dd parameters say to use a block size of 1G and copy 20 blocks, so that would be 20G of zeros.
>> symbol saves output from the previous command to the following filename in append mode. If you used
> by itself instead, it would either create a new file or truncate the existing file and start from the beginning as if it was a new file.
If this file didn't exist before, this would initialize it to a non-sparse 20G file of zeros.
If this already existed, you would be expanding it by 20G. Since this file appears to be a disk image (guessing from the filename), presumably your next step would be to expand the filesystem inside it to use the new space.