That's because we know where to look, and mostly we find them by indirect ways. It is certainly possible to find pretty much all LARGE (let's say over 100 m) asteroids threatening Earth which orbit in the inner Solar System. Comets are fickle as usual, but we can find them too. Doing something about them is a different thing which needs to be taken seriously, I agree. Right now, if we found one was about to hit in 3 years, my bets would be on the asteroid. MEDIUM asteroids (like the one which is passing Earth right now, 40 metres in diameter) can be found soon enough to give us time to prepare provided we invest in the kind of global defence plan I mentioned. Let's pre-place nuclear-armed interceptors in high orbits and have them ready in case another Tunguska was about to happen over, say, the UK, which would have led to a large loss of life and extreme economic damage - things that justify the expense and risk of trying to eliminate the threat. SMALL asteroids measuring in metres cannot possibly cause much damage beyond a loud bang, shattered windows, and road accidents caused by the distraction. They can be found in time with our existing infrastructure, provided we use it to look for incoming satellite-sized rocks. The US, Russia, China, France and who knows who else are already tracking spy satellites in LEO, so it is just a matter of looking a bit beyond it. Well, again - it depends on how far you want to spot them. Inside the Moon's orbit, or a bit beyond? Doable. 2 AUs away? Veeeeeery difficult and not worth the cost.