My belly button is red, sore and has a strong odour. What could be causing this?

Infection. Infection of the canal. Might want to clean this with peroxide or saline and put an antibiotic cream in there until it heals.
Cellulitis. You could have a localized cellulitis of the umbilicus. Keep it clean with hydrogen peroxide and put a topical antibiotic around the area (eg. Bacitracin or triple antibiotic ointment). If the redness and smell do not go away within 7-10 days, see your doctor.