I heard a nice analogy by Mufti Ebrahim Salejee saheb Daamat Barakaatuhum in his after asr majlis today, so thought of sharing.
When a person thinks of planting some seeds so that crops grow, does he just plant some seeds in any land? No. What he does first is fix up the area. He will get rid of the stones and thorns and weeds. He will make sure the land is completely clean. He will also make sure that the soil is good for planting. Once that is done, the nhe will plant the seeds, and take care of it by watering the seeds and weeding the garden... and after a while Insha Allah there will be beautiful crops.
In the same way, our hearts are where we have to plant the seed of Allah's love, but for that we have to clean up our hearts first so that this seed can be properly taken care of and nourished, and so that insha Allah the flowers of Emaan blossom and eventually bear fruit.