Unless you are slaughtering your own chicken or buying it directly from a farm, there is inevitably some lag time between the day the chicken was killed and when it reaches your grocer's meat case. This means you have a limited amount of time to prepare your chicken before it can spoil and develop bacteria that could cause food poisoning. Sell-by and use-by dates listed on meat packaging are good guides, but physical inspection of the chicken itself is the best way to tell whether or not it has gone bad.
Smell the chicken, since fresh chicken that is still good has no discernible smell. Throw the chicken out if there is any kind of odor emanating from it at all.
Feel the surface of the chicken. Discard it if it has a slimy texture on the surface. In general, chicken that is still edible will have only a limited amount of moisture on the surface, which will feel like water to the touch.
Press your finger against the chicken flesh. Throw it away if it feels mushy to the touch -- fresh chicken should feel firm when pressed.
Check the date on the package. Discard the chicken if it is more than two days past the sell-by date listed on the package -- unless the chicken has been recently removed from the freezer -- or the chicken has been sitting in the refrigerator uncooked for more than three days. Throw the chicken out if it is past the use-by date which is sometimes listed on the package.
Toss the chicken if it has an off-taste after cooking, which may be an indication of spoilage.