Sachverhalt: A. Der 1968 geborene C._ war als Bauarbeiter tätig. Unter Hinweis auf eine zervikale Diskushernie mit schmerzhafter Einschränkung der Bewegung der Halswirbelsäule (HWS), Schmerzausstrahlung in die Arme und eine chronische rezidivierende Lumboischialgie links meldete er sich am 12. November 2001 bei der Invalidenversicherung zum Leistungsbezug an. Die IV-Stelle des Kantons Basel-Landschaft klärte die medizinischen und erwerblichen Verhältnisse ab und ermittelte beim Versicherten einen Invaliditätsgrad von 100 %. Mit Verfügung vom 27. Juni 2003 sprach sie C._ eine ganze Invalidenrente ab 1. Januar 2002 zu. Bei in den Jahren 2004 und 2006 durchgeführten Rentenrevisionen blieb der Anspruch unverändert. Im Rahmen des im Juli 2008 eingeleiteten Revisionsverfahrens ermittelte die IV-Stelle bei C._ nunmehr noch einen Invaliditätsgrad von 33 %, worauf sie die Rente nach Durchführung des Vorbescheidverfahrens mit Verfügung vom 6. Mai 2009 auf 30. Juni 2009 hin aufhob. Sie begründete es im Wesentlichen damit, die bisherige Rentenzusprechung sei offensichtlich unrichtig im wiedererwägungsrechtlichen Sinne. Nach den aktuellen medizinischen Unterlagen sei eine angepasste Tätigkeit im Umfang von 80 % zumutbar, woraus ein Invaliditätsgrad resultiere, der einen Rentenanspruch ausschliesse. B. Das Kantonsgericht Basel-Landschaft hiess die dagegen erhobene Beschwerde mit Entscheid vom 2. Dezember 2009 gut. Es hob die Verfügung auf und stellte fest, der Versicherte habe mit Wirkung ab 1. Juli 2009 weiterhin Anspruch auf eine ganze Rente der Invalidenversicherung. C. Die IV-Stelle des Kantons Basel-Landschaft führt Beschwerde in öffentlich-rechtlichen Angelegenheiten; sie beantragt, die Verfügung vom 6. Mai 2009 sei unter Gutheissung der Beschwerde wiederherzustellen; der vorinstanzliche Entscheid über die Parteientschädigung sei aufzuheben; der Beschwerde sei die aufschiebende Wirkung zuzuerkennen. C._ und die Vorinstanz schliessen auf Abweisung der Beschwerde, das Bundesamt für Sozialversicherungen beantragt Gutheissung.