To make the condition seem natural, let's just try to copy Hall's Condition. So what's the first thing we do? We grab some set of vertices. In Hall's Condition this set is often called $X$ and we take it inside one of the partite sets, but we will call it $U$ and choose it arbitrarily since there there isn't any obvious way to restrict its choice in a general graph.
Then what is the next thing we do in Hall's Condition? We check that $X$ is big enough to take care of all the edges in a perfect matching that must come out of $X$. In Hall's Condition this means we need to check that $X$ has at least as many neighbors as there are vertices in $X$, since no edge of the perfect matching can lie inside $X$. In the general case, the analogous thing to check is that there are at least as many vertices in $U$ as there are odd components of $[V\backslash U]$ because every odd component must send an edge to $U$ in any perfect matching. (You are just trying to guarantee that a large set of edges must come out of $U$ in any perfect matching, and the number of odd components of $[V\backslash U]$ is the only obvious condition that does so. It's really the only thing you can say.) And well now you've stumbled upon Tutte's Condition.
The (sort of) tricky thing then is to realize that the condition is actually sufficient.