A major meteor impact event is inevitable in Earth's future. There's 150 million asteroids over 100m orbiting just in the inner solar system. Luckily for us, thanks to NASA's NEAR program and other scientific efforts, all asteroids over 1km have been cataloged, and they're working to track all asteroids over 140m by 2020. However, to give perspective on this, the Tunguska event's object, which leveled over 80 million trees over an area of more than 700 miles is estimated to have only been 30m. Something of a relatively minor size compared to what is tracked could easily devastate a large area. Given, the Earth is mostly water, and chances are that it would never hit anywhere remotely populated, but if 30m can devastate an area that large, the 150 million over 100m are a considerable threat.
There are several legitimate asteroid deflection strategies that have been proposed by NASA, ranging from nuclear detonations to gravity tractors.
Despite the ridiculous plot of Armageddon, they kind of got right the part that nuclear detonations are the most effective logistically out of all the methods. Depending on the situation, it could work better to either detonate it by flyby, on the surface, or subsurface. The important part is to not fragment it though--we have good enough detection systems that it would (likely) never be as close of a call as it was in Armageddon, and the point is to push it off trajectory, not split it into several pieces of matter that have several different paths. The "astronauts" in Armageddon were lucky that their space rock was not in fact a collection of space rock rubble held together by gravity, which would have exploded and become atmospheric buckshot.
The point of the tracking systems is to have warning enough to change the course of a dangerous object. We don't currently possess anything that could release the amount of energy required to significantly alter the course of a large asteroid if it's already close to Earth. A nuclear detonation could best be used to change the change slightly change its path that over time it would miss our little planet.
Kinetic impact would be the next most effective. This is essentially launching something at the object to knock it off course. Of course, it has to have enough mass and velocity to even affect the object. The average asteroid orbits at a speed of 25km/s, or 55,900mph. The fastest spacecraft we have to date, New Horizons, reached a top speed of 40km/s after being assisted by Earth's orbital motion, but quickly dropped off in speed to around 19km/s by the time it reached Jupiter.
However, its mass is only 478kg, which would be utterly useless in stopping a medium asteroid such as 25143 Itokawa, which is has a diameter of about 400m and a mass of 3.5x1010kg. It would barely change its course.
The Deep Impact mission, which drove a 370kg impactor into Temple 1, a comet with a mass of 7.2x1013 at a speed of 28.6km/s affected the comet as to cause a 0.0001 mm/s change in its velocity and decrease its perihelion by 10m. However, if this same impact had been delivered to a comet 125m in diameter, in 10 years it would be moved by one radius of the Earth, or 6741km. So kinetic impact would be an effective deflection method, and we have the technology to execute it, if we have enough warning. The larger the object, the more time we need to significantly alter its course.
However, any unexpected celestial bodies and we're screwed.