Sachverhalt: A. X._ nahm eine Vielzahl von sexuellen Handlungen an seiner Tochter A._ und an deren Freundin B._, beide geb. 1983, vor. Zwischen dem 13. November 1990 und dem Frühjahr 1993 vollzog er einmal von hinten den Geschlechtsverkehr an seiner Tochter im Beisein von B._. Im Zeitraum von 1. September bzw. 1. Oktober 1992 mussten ihn die zwei Mädchen regelmässig bis zum Samenerguss befriedigen. Von B._ verlangte er auch oralen Verkehr, während er sich anal und oral an ihr verging. Bei beiden Mädchen streichelte er die Scheide und führte ihnen diverse Dinge (Finger, Barbiepuppe, Kugelschreiber, Bleistift, Kreide) vaginal oder anal ein. Er konsumierte mit ihnen pornographische Filme. Dabei mussten sie ihn sexuell befriedigen, wobei er ihnen teilweise zwischen die Beine griff. Im Frühjahr 1993 stellte X._ seine Tochter A._ und B._ zwei erwachsenen Männern zum Geschlechtsverkehr zur Verfügung. Zu diesem Zweck wurden die Kinder im Keller der Familienwohnung X._ auf eine Matratze am Boden gefesselt. Die zwei Männer vollzogen nacheinander den Beischlaf an je einem Kind, dies in Gegenwart von X._, welcher sie zu den sexuellen Handlungen ermunterte. Über die verängstigte B._ machten sich die Täter lustig (die Angst in ihren Augen sei "richtig geil" und sie sei "eingeritten"). Die Kinder liessen sämtliche Taten unfreiwillig bzw. auf Anordnung von X._ über sich ergehen. B. Das Kantonsgericht St. Gallen verurteilte X._ am 19. Juni 2009 wegen Vergewaltigung, mehrfacher qualifizierter Vergewaltigung, Inzests, mehrfacher sexueller Nötigung und mehrfacher sexueller Handlungen mit Kindern zu einer Freiheitsstrafe von 6 Jahren, als Zusatzstrafe zum Urteil des Obergerichts des Kantons Zürich vom 16. September 1997. Die von X._ gegen dieses Urteil gerichtete Beschwerde hiess das Bundesgericht am 22. März 2010 in Bezug auf die Verurteilung wegen sexueller Nötigung gut und wies die Sache zur Neubeurteilung an das Kantonsgericht zurück (Urteil 6B_875/2009 vom 22. März 2010). Am 5. Juli 2011 bestätigte das Kantonsgericht St. Gallen wiederum die Schuldsprüche und die Freiheitsstrafe von sechs Jahren. C. Gegen dieses Urteil erhebt X._ Beschwerde in Strafsachen. Er beantragt, das angefochtene Urteil sei aufzuheben und zur neuen Entscheidung an die Vorinstanz zurückzuweisen. Es seien keine Kosten zu erheben, und es sei ihm eine angemessene Parteientschädigung zuzusprechen. X._ ersucht um unentgeltliche Rechtspflege und Verbeiständung. D. Die Staatsanwaltschaft des Kantons St. Gallen beantragte mit Eingabe vom 20. Oktober 2001, die Beschwerde sei unter Kostenfolge abzuweisen. Das Kantonsgericht St. Gallen verzichtete auf eine Vernehmlassung. 