Sachverhalt: A. Das Strafgericht des Kantons Basel-Landschaft sprach X._ mit Urteil vom 14. Juni 2007 unter anderem des Betrugs schuldig und verurteilte ihn zu einer Gefängnisstrafe von 18 Monaten. Ausserdem widerrief es die bedingte Gefängnisstrafe von vier Monaten des Bezirksgerichtsausschusses Maloja vom 6. Mai 2003. Dagegen appellierte X._. Das Kantonsgericht Basel-Landschaft hiess am 27. Mai 2008 die Appellation teilweise gut und verurteilte ihn zu einer teilbedingt vollziehbaren Gesamtfreiheitsstrafe von 22 Monaten. B. Gegen dieses Urteil führten die Staatsanwaltschaft Basel-Landschaft und X._ Beschwerde in Strafsachen ans Bundesgericht. Dieses wies die Beschwerde von X._ ab (Urteil 6B_694/ 2008 vom 3. Februar 2009). Die Beschwerde der Staatsanwaltschaft hiess das Bundesgericht gut (Urteil 6B_600/2008 vom 3. Februar 2009) und wies die Sache zur neuen Entscheidung an die Vorinstanz zurück. Das Kantonsgericht Basel-Landschaft wies am 6. Oktober 2009 die Appellation von X._ ab und bestätigte den erstinstanzlichen Schuld- und Strafpunkt. C. Mit Beschwerde in Strafsachen beantragt X._, das Urteil des Kantonsgerichts sei teilweise aufzuheben, und er sei zu einer teilbedingten Freiheitsstrafe von 18 Monaten zu verurteilen. Auf den Widerruf der Vorstrafe sei zu verzichten. Die erlittene Untersuchungshaft sei auf die Strafe anzurechnen. Zudem ersucht X._ um unentgeltliche Rechtspflege und Verbeiständung. D. Das Kantonsgericht und die Staatsanwaltschaft beantragen in ihrer Vernehmlassung die Abweisung der Beschwerde. X._ beantragt in seiner Stellungnahme vom 16. April 2010 zu den Ausführungen des Kantonsgerichts, es rechtfertige sich, die erlittene Untersuchungshaft an die im vorliegenden Verfahren ausgesprochene Freiheitsstrafe anzurechnen, da er das Urteil des Strafgerichts Basel-Landschaft vom 5. Februar 2010 weitergezogen habe und dessen Rechtskraft nicht absehbar sei.