Rose was engaged to Caledon because of their social status. It was an arranged relationship, one that she had no choice in and wasn’t happy in. With Jack, she found her happiness, and by pursuing him, she was pursuing her freedom. Jack was a poor man, so by being with him, she was also breaking free from the tradition of marrying to maintain one’s social status.
Caledon thought that his wealth and the fact that he bought Rose gifts and showered her with material goods entitled him to her love. Buying someone gifts does not entitle one to anything. Caledon was smug and self-entitled. A decent person who saw that his partner isn’t happy with him would let her go, regardless of the amount of money he had spent on her.
Titanic is a story of the triumph of love over traditional marriage. Traditional marriage is oppressive to women. Love is liberating.
Rose was a young woman in the early 20th century, a time when even in the West there were a lot of social pressures for women to act a certain way according to their family's desires.
If you don't know what that is, you can very easily meet women in different cultures who experience it. I have female friends who literally gave up their lives and dreams to please their parents. Perhaps "forced" is a bit of a stretch, but it's not that much of a stretch, to be honest. The social forces are very strong and something that people who don't experience don't quite understand. One of my closest friends in high school went through that, and even though on some level I understand it, it's also not something I can quite comprehend on a deep level. I always ask myself why she didn't fight for her freedom, but... I think there's a lot more to it than not wanting to or acquiescing. I just need to accept that I don't have her experience and will never relate to it—and that is something I am incredibly thankful for, even though it's why we drifted apart. We just couldn't relate to each other anymore.
She was scared of him - he was so obviously a bad person, I'm not sure how this is even a question.
Of course what she did wasn't right either, but that doesn't change the fact that Caledon was 100% supposed to be a bad character with bad manners, who thinks money can buy everything. If this had happened in today's society, Rose would probably have broken up with him before getting it on with Jack. I remember Caledon threatening her when they were sitting down for a cup of tea (not sure if he hit her or not, but she definitely ended up on the floor, shaking and about to cry). He framed Jack for something he didn't do. Caledon is definitely not a good person, no matter what Rose did to him^^;
It's a good thing to look at things from a different perspective, but the film makers surely made him a bad guy on purpose, so nobody would think Rose a bad person for cheating on him. What she did wasn't right, yes, but Caledon was definitely a bad guy.
And to be honest, I don't even blame Caledon for using a little kid to get on one of the boats when the ship was sinking. I'd probably have done the same if I were a man and had to wait for children and women to get in first.