I was confused about it for a long time, though. I recall the confusion centered around terminology. I'm from Denmark and there we say "aktiver" (actives) must equal "passiver" (passives/liabilities) - which seemed very unintuitive. Why would they be equal - and exactly equal (down to the last cent)?
I mean, what if I buy a piece of candy and then eat it? Even if we accept that buying it turns it into an asset, wouldn't eating it cause a reduction in assets and thereby make the two sides diverge? Surely when eaten, something is lost, so again how can they be equal?
I saw the 'light' when I started tracking my own finances in a spreadsheet. I started tracking the value of all accounts in a separate sheet, summing them to see how much money I had. Then, I started tracking all expenses to see in detail how much I spent each month.
Eventually, it dawned on me to connect these subsheets to check that I hadn't forgotten an expense or typed a wrong number. It worked like this: every month I summed up the accounts and made a note. At the end of the next month, I would update the account values with new balances from the bank, and then verify that the change in balance matched exactly the sum of the spending (plus income).
Then I realized: hey, maybe this is what double entry accounting is all about. It is mostly a terminology question; the "assets equal liabilities" phrasing is what trips people up, and the candy mystery is of course explained by just having various entries accounting for this.
While I do know graph theory, I don't see the relation to double entry accounting. I can't imagine how introducing graph theory simplifies it, though maybe I don't truly understand it after all ;)