Think of property group as a collection of individual variables, properties can only hold one value.
Whereas itemgroup is similar to an array or collection which can hold zero, one or many values. You can also iterate item groups which is often useful when you want to carry out the same task against multiple items. A common example of this is compiling many files.