Says the Gemara [Shabbos 56a]:
"א"ר שמואל בר נחמני א"ר יונתן, כל האומר דוד חטא אינו אלא טועה, שנאמר "ויהי דוד לכל דרכיו משכיל וד' עמו", אפשר חטא בא לידו ושכינה עמו, אלא מה אני מקיים "מדוע בזית את דבר ד' לעשות הרע", שביקש לעשות ולא עשה".
Rabbi Shmuel bar Nachmani said that Rabbi Yonason said: Anyone who says that Dovid sinned with Bas Sheva is nothing other than mistaken, as it is stated: “And Dovid succeeded in all his ways; and Hashem was with him” (I Shmuel 18:14). Is it possible that sin came to his hand and nevertheless the Divine Presence was with him?
However, how then do I establish the meaning of the rebuke of the prophet Nosson: “Why have you despised the word of Hashem, to do that which is evil in My sight? Uriah the Chittite you have smitten with the sword, and his wife you have taken to be your wife, and him you have slain with the sword of the children of Ammon” (II Shmuel 12:9), indicating that Dovid sinned? The Gemara answers: Dovid sought to do evil and have relations with Bathsheba while she was still married to Uriah but did not do so.
How does "וה' עמו" necessarily prevent a person from sinning?
And if "ה' עמו" is so powerful then why did he THINK to sin?
כשרון הקדושה והטוב יתכן שיהיה מקרי לאדם, נקנה לו בהרגל ובציור, ומ"מ לא בא הדבר עדיין שתכונת עצמיותה של נפשו תהיה מבוססת עליו, אופן זה מתחלף לפעמים ע"י מקרים עזים המתנשאים באמץ. ויש שהכשרון מתגבר במדה גדולה, עד שיסוד חייו מיוסד הוא רק על הטוב והקדושה, ואיננו יכול להפרד מהם כשם שאינו יכול להפרד מחייו. השראת הקדושה האלהית על האדם תתכן להיות רק בהיותו בא למדה זו, שהמדות הטובות, היושר והקדושה, התעצמו בקרבו כחלק מחיי נפשו, ע"כ מי שכבר נאמר "וד' עמו" א"א כלל שיבא חטא לידו.
Sometimes someone is holy and good in an external way. He acquired these qualities through practice and learning but it is not part of his essence. The evil that is inside of him is liable to rear its ugly head at any moment. However, sometimes the holiness and goodness is completely assimilated into a person's essence. About such a person the pasuk says "וה' עמו" and he won't sin. THAT was Dovid.
אמנם עצמיותו של אדם תגלה רק בהתגלות המעשה, אבל רעיוני הלב הנם כ"כ למעלה משלטונו של אדם, עד שלא יכיר כח הכרעתו בהם מדי עברם. ע"כ, אם גם תכונתו העצמית היא נפלאה וקשורה ביסוד חיי הצדק בעצמם, מ"מ יכול להיות שביקש לעשות הרע אבל לא עשה . על תחום המעשה, שמה תופיע התכונה העצמית שעליה נאמר "וד' עמו", שאין אפשר שיבוא חטא לידו בפועל. הנטיות הנן קשורות זו בזו בטבע הנפש בכל רחבה והקיפה, ע"כ אם אחת הנטיות תהיה מוכשרת לחטא, ההכשר הזה כבר יהיה פורע פרעות בכל התכסיס הנפשי במילואו, וגם יתר התכונות א"א כלל שתהיינה שלמות ומוכתרות בכתר הקדושה כראוי. ע"כ, א"א כלל שמי שנאמר עליו "וד' עמו" יבא על ידו חטא, רק באופן ציורי, שכל התכונה הנפשית לא תתגלה שמה, שזה יתכן להיות ע"פ תולדות הזמנים ושינויי הציורים הבאים בשטף החיים ההולכים ומשתנים בפרטיותם, אע"פ שהם מתעצמים תמיד בכללותם על התכונה הכללית של עצמיותה של הנפש, ע"פ ערכה ומעלתה המדוייקת, שמתגלה באמתתה רק בחיי המעשה והפועל.
Thoughts are at times above and beyond man's control. You just CAN'T HELP but think about something. Chazal say [Bava Basra 164b] that there are 3 sins that one does EVERY DAY. One of them is illicit thoughts. Rav Chaim of Volozhin says that since these thoughts can't be prevented, the sin is in letting these thoughts linger in your mind [or worse - "developing" them]. That Dovid sinned in thought is not a wonder because that it human nature. Being a human being can't be held against him. His greatness was that his thoughts didn't bring him to action.
--------------
This explanation should be a GREAT chizzuk to those out there who struggle with Kedusha. We are all human beings and we shouldn't get down on ourselves. But we may also never stop fighting.
More here.