I understand the concept of a binary tree. So I guess, for a programmer defined binary tree, is it basically a doubly linked list except your 2 pointers are your branches?

As far as the node definition goes, sure. But even though there are two pointers, the use of those pointers is conceptually very different.