Sachverhalt: A. A.a Das Kreisgericht St. Gallen sprach A.X._ am 16. August 2010 der Brandstiftung, des mehrfachen Betrugs und des versuchten Betrugs schuldig. Es verurteilte ihn zu einer Freiheitsstrafe von 3 1⁄2 Jahren sowie, unter allfälliger solidarischer Haftbarkeit mit B.X._ und C._, zur Bezahlung von Fr. 56'553.65 an die Gebäudeversicherungsanstalt des Kantons St. Gallen, Fr. 11'122.-- an die Gemeinde Gaiserwald (Feuerwehrkommando) und Fr. 6'000.-- an die D._ Versicherungen. Die Genugtuungsforderungen der E._ und der F._ AG wies es ab. Die übrigen Zivilforderungen verwies es auf den Zivilweg. A.b Das Kantonsgericht St. Gallen reduzierte die Freiheitsstrafe am 10. Mai 2012 auf 36 Monate, davon 21 Monate bedingt, bei einer Probezeit von zwei Jahren. Im Übrigen bestätigte es das erstinstanzliche Urteil. Das Kantonsgericht geht von folgenden Sachverhalten aus: Die Ehegatten A.X._ und B.X._ führten ein Geschäft im Einkaufs- und Freizeitzentrum G._. Nach einem Brand in ihrem Geschäft vom 25. Dezember 2005 gaben sie der H._ Versicherung für die Zeit danach zu tiefe Umsatzzahlen an. Dadurch bewirkten sie, dass ihnen zu hohe Versicherungsleistungen von mindestens Fr. 11'620.-- ausbezahlt wurden. Am 3. März 2007 legten A.X._ und B.X._ nach einem zuvor gefassten Plan zusammen mit I._ und C._ in ihren Geschäftslokalitäten einen Brand. Hierfür stellten sie im Ladengeschäft Benzin und Stoffballen bereit, welche I._ gegen 22.30 Uhr in ihrem Auftrag anzündete. Der durch den Brand und die Benzinexplosion verursachte Schaden hielt sich in Grenzen. Hingegen entstanden aufgrund des Einsatzes der Sprinkleranlage in der Einkaufsstrasse um das Ladengeschäft eine Überschwemmung und ein erheblicher Wasserschaden. Das Zentrum G._ wurde im Tatzeitpunkt immer noch von Besuchern frequentiert. Den Schaden aus dem Brandfall meldeten A.X._ und B.X._ der J._ Versicherung, welche die Schadensübernahme ablehnte. A.X._ täuschte Dr. K._ vor, infolge des Brandanschlags an einer akuten Belastungsreaktion zu leiden. B.X._ als Geschäftsinhaberin leitete die Krankheitsmeldung der L._ Krankenversicherung weiter und bestätigte die Krankheit ihres Ehemannes auch gegenüber dem RAV. Die L._ Krankenversicherung zahlte gestützt auf die von Dr. K._ bescheinigte 100 % Arbeitsunfähigkeit für die Zeit vom 19. März bis am 30. April 2007 Krankentaggelder über Fr. 6'040.60, obschon A.X._ in dieser Zeit nicht krank war. B. A.X._ führt Beschwerde in Strafsachen mit den Anträgen, das Urteil vom 10. Mai 2012 aufzuheben, ihn von den Vorwürfen des mehrfachen Betrugs sowie des versuchten Betrugs freizusprechen und zu einer bedingten Freiheitsstrafe von höchstens 12 Monaten zu verurteilen. Eventualiter sei eine bedingte Freiheitsstrafe von höchstens 20 Monaten zu verhängen. Subeventualiter sei eine teilbedingte Strafe auszusprechen und der unbedingte Teil auf höchstens 6 Monate festzusetzen. 