Answered question
I am a little confused about upgrades. If I have a 500MB upgrade does that mean I will have 500MB of data for free every month forever? or is it like a perk that will expire? if so what's the difference between an upgrade and a perk?
An upgrade is good for 2 years from the day you receive it even if you don't apply it to your plan.
A perk is good for 90 days from the day you receive it. It expires 30 days after application to your plan.
Other answers
When you apply an Upgrade to your plan, it becomes an addition/extension to your plan. So yes you will get 500 MB each month (until the upgrade expires in 2 years as Yelena mention).
A Perk is for one time use only. When it is issued, it is usually valid for 90 days (also as mentioned by Yelena). The special property of Data Perks is that you can use it for your own plan OR gift it to anyone with a mobile plan (even if they don't have data in their plan).
Upgrades are forever and perks are one use only