People who are frugal maximize their money so they can spend more on what matters most to them. People who are cheap just want to save money no matter what they have to sacrifice.
For example, a person who is frugal may have water with their meal when they go out to help save a little money. In turn, that money is then put towards something else such as a vacation fund or a new laptop.
Someone who is cheap will order a great deal of food and then not leave a tip. They aren’t allocating that money anywhere else, just saving for the sake of not spending money.
Frugality also means taking a look at the overall value of an item. Just because something is inexpensive, doesn’t make it the smartest financial decision. An item that is cheap is probably not well made, which may result in having to constantly buy replacement items. At what point does replacing an item outweigh spending more at the beginning?
People who are cheap just look at the bottom line price and don't consider any other factors. This line of thinking may cause a person to complain that everything is over priced. A frugal person may internally note that something is out of their price range but they will simply not purchase it.
While you should always be aiming to save as much money as possible, you shouldn't be doing so at the expense of yourself or others. To prevent this, it's best to create a budget that leaves room for fun. If you already have money set aside for expenses, you can buy things you need (and want) without guilt.