It's hard to initially judge the freshness of ground beef by looking for color.
Very fresh ground beef is red-purple. The plastic wrap they use in grocery stores is oxygen permeable- that is oxygen can get through. This means that a few hours later, the part of the ground beef that is exposed will turn that bright red (oxymyoglobin) that we associate with fresh meat.
The inside will still be that deeper purple red color. The color difference can make people think that fresh ground beef has spoiled, when in fact it's fine. In fact, if you open s package and expose the purple- red meat to air, it will change to a bright red color.
Note that this is different from slightly older meat. As the meat starts to age the myoglobin changes to metmyoglobin, which is grey- brown in color. This doesn't indicate that the meat has spoiled, but does have an unappealing color when raw. It doesn't effect the cooked product- it cooks the same.
Meat that is really old often is grey or grey green. That is an indicator of age & long exposure to light- oxygen. Steer clear.
In general, color isn't a good indicator.
It is better to use your nose and smell for sourness, or feel for a tacky or slimy texture. If you detect shy of these, pass.
Besides, bacteria and other pathogens can harm far before the ground beef gives you signs of spoilage. You should be careful and always buy the freshest possible product.
These changes also happen in frozen meat. Proper wrapping can minimize exposure to oxygen,