What causes the skin around the penis to swell a lot?

Inflammation! It could be infectious, or chemical irritation. Since you did not specify whether you were circumsided, no specific answer can be made. See your pcp or go to a urologist!