Former Pistons center Kwame Brown added 14 points and 10 rebounds for the Bobcats, who snapped a two-game losing streak.
Charlotte held the Pistons to 39 percent shooting in the first half, and held a 28-14 rebounding advantage, but only led 44-41 at the break. That allowed Detroit to get back into the game, starting with a 9-2 run to open the second half.
The Pistons led 56-48 midway through the third quarter, but the Bobcats went on a 20-9 run to take a 68-65 lead heading into the fourth.
Jackson started the fourth quarter with a 3-pointer, and Gerald Henderson added a three-point play to put Charlotte up 74-65. Detroit was then called for a shot-clock violation before Jackson's jumper made it a double-digit lead.
By the time the Bobcats had finished the run, which included another Jackson 3-pointer, they led by 16 points.
Detroit cut the deficit to 90-83 with 3:10 left, but Jackson answered by blowing past Prince for an easy layup.
Notes: Because of a storm that dropped nearly a foot of snow in Metro Detroit on Tuesday night and Wednesday morning, the Pistons gave away free "Snow Day" tickets. Despite that, the game drew a smaller-than-normal crowd. ... Richard Hamilton was active after missing three games with the flu, but did not play. Hamilton has not appeared in a game since January 10. ... Brown's double-double was his third in six games.