Logistic regression is a supervised machine learning technique used for binary classification problems, predicting categorical outcomes that vary between two discrete values, such as yes or no. It utilizes the sigmoid function to map real values into a range between 0 and 1, employing a threshold to define probabilities. However, it has limitations, including poor performance with small datasets, non-linearly separable data, and its inability to predict continuous outcomes.