Text graph vs. typed graph
Roam's graph is made of text. Pages link to pages; blocks reference blocks. The connections help you explore thoughts, but they carry no type. A link between a person and a project looks the same as a link between two random notes. You can't query “all contacts at Company X”, because contacts don't exist as a concept — they're pages with a name.
Synap's graph is made of typed records. A contact has an email, phone, and company. A deal has a stage, value, and close date. Relationships are typed too: a contact “works at” a company, a task “belongs to” a project. That makes the graph queryable, viewable, and meaningful at scale.