Decision trees are a supervised learning technique that can be used for both classification and regression problems. It has a tree structure with internal nodes representing features, branches representing decision rules, and leaf nodes representing the outcome. Decision nodes make decisions and have multiple branches, while leaf nodes are the outputs of decisions and have no further branches. The decisions are based on features of the given dataset.