The reason is fairly simple, but the effects it can have on your skin are often not so simple. For a start, manufacturers want their sunscreen to be as water-resistant as possible because people wear it at the pool or beach. So how do they make it water-resistant? With various types of chemicals and oils, of course. This accomplishes their goal, but it can cause adverse reactions in some people, and others simply don't like that greasy feeling on their skin all day.
Specifically, these heavy and greasy sunscreens often feel that way because they contain silicone and acrylate polymers. These ingredients provide water-resistance and also cause the product to stick to your skin. That may be fine for a day at the beach, but for regular everyday use and specifically for use under makeup it is just too much. For these purposes, instead, choose an oil free sunscreen designed specifically for oily skin.