Amelia is far and away my favorite civilian Winchester love interest (bear in mind I have only seen through the end of S10). Jessica was a non-entity. Cassie and Lisa were much cooler in theory than in practice. But Amelia was an actual person, difficult and real.
When Amelia and Sam got together, they had both suffered a recent lost. Amelia's famous quote, "let us be messes together" is often seen as a summary of their relationship. For many people, this means their relationship is unhealthy, and not real. Essentially, the fact that both Sam and Amelia are messed up means they CAN'T have a relationship.
I disagree. People who in an unhealthy stage of their life can enter relationships, and the relationships are still real and genuine. Denying messed-up people relationships just isolates them. Sam and Amelia had a real connection that hardly solved all their problems, but was good for them in many ways.
Another common complaint is the fact that Sam didn't tell her about the supernatural, or his romantic history that involves a lot of deaths of his past partners.
I have mixed feelings about this one. On the one hand, I detest it when people use it as an example of Sam being dishonest. Keeping secrets is not the same as being dishonest. In Torn and Frayed, it is clear that Amelia knows he is keeping secrets, and they are both upfront about it. He is not lying to her. People are allowed to have secrets
That said, Sam knows something Amelia doesn't: His secrets put in her in danger. I'm not just talking about his past love life, but also the fates of Katie and Adam, and what happened to Lisa and Ben. I do think Sam owed Amelia that information.