According to Wikipedia there are three basic types of sacrifices: Attack on the King, Development, and Strategic/Positional. The Positional Sacrifice is considered teh most difficult of the three: In a general sense, the aim of all true sacrifices is to obtain a positional advantage. However, there are some speculative sacrifices where the compensation is in the form of an open file or diagonal or a weakness in the opponent's pawn structure, and it is not even clear how this might potentially be turned into something more tangible. These are the hardest sacrifices to make; they require deep strategic understanding.
I have made precious few of these over my career. In fact, I can't recall any specific games over my some 300 OTB forays.
Recently though, I played a higher rated player and found myself in a strategically better position where a sacrifice kind of presented itself. I really had no clear plan for bring home the bacon, but it felt right on so many levels. I had to do it!