Dimensionality reduction refers to the phenomenon of reducing the dimensionality of the data. Dimensionality is also known as input variables, features, or simply columns of the dataset. Dimensionality reduction is used commonly in many machine learning models since many machine learning algorithms don't function well with higher dimensionality. However, dimensionality reduction has an important use case in replacing values with confidential data with non-interpretable values, for instance, in the case of a dataset containing banking or health data.
PCA is limited to linear data. Refer to the API Reference Guide here: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
t-SNE also works with non-linear data. Refer to the API Reference Guide here: https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html