Decision trees can be used for both classification and regression problems, but are mostly used for classification. They use a tree structure with internal nodes representing features, branches representing decision rules, and leaf nodes representing outcomes. The CART algorithm is commonly used to build decision trees by recursively splitting the dataset into purer child nodes based on feature tests. 
Gradient descent is an iterative optimization algorithm used to find the minimum of a loss function. It works by taking steps in the direction of the negative gradient of the function to minimize it. Gradient descent requires the loss function to be differentiable and convex. It calculates the gradient, or slope of the curve, at each point to determine how to update the parameters to reduce the loss.