Hello!
"Calculate status as" determines how object's status should be calculated based on child objects statuses. For objects without child objects (like conditions) it has no meaning.
"Propagate status as" determines how object present it's status to parent object(s). For example, you have a switch with various interfaces. Normally, when interface goes down, it's status changes to CRITICAL, and status of entire node object changes to CRITICAL (and so on up to the root). However, if you have not very important interfaces and wish that node status changes not to CRITICAL, but to WARNING when this interface goes down, you can change "Propagate status as" property of interface object so it will propagate it's CRITICAL status as WARNING.
Best regards,
Victor