In a good day 3 hours is plenty, you will have to wait/queue multiple times:
1. Entry immigration (+visa on arrival if needed)
2. Wait for bags to come out
3. Security at terminal entrance
4. Check-in
5. Immigration + Security
It is indeed busy time in NBO, and I do agree that it's not the best place to get stranded, but I wouldn't necessary not take the later flight if there was a compelling reason to, it all depends on your plans for that day.