Forgive me if any of this got said above, I mostly read it all.
My memory is that the progression that leads up to Ennis getting involved with Cassie are: Alma confronts Ennis about Jack Nasty (which freaks him out unbelievably), then immediately comes the "you ever get the feeling people know?" scene, which leads immediately to Ennis finding Cassie's feet inhis lap. I think he mostly gets involved with her so people won't wonder about him.
I think he stays involved with her out of a sense of safety from people's wondering, and though gay, he can see she's a good-looking little gal, and she seems very accomodating to him. And if it's not Jack he's with, it kind of doesn't matter who it is. As to how he breaks up with her, I think he is so depressed by the lake scene as to become nearly inert, and he just doesn't have it in him to function enough to be courteous. Not to mention that I'm sure he felt that she wouldn't make it easy to untangle her Chilean sheep from his. So he took the cowardly way out. He certainly should have said some little word after five fuckin' years together. But in the pie scene, I think he clearly shows that he does feel like a schmuck for how he's treated her.
On to the original question - what does Cassie see in Ennis? Well, he turns us into jabbering droolers, so isn't that enough? I think what people have said - Respectful, pleasant, hard worker, and also very clean for a cowboy. I imagine Ennis has walked through his whole life oblivious that almost every female of any age who meets him thinks he's the hottest thing around.