Sentiment analysis or opinion mining is one of the considerable undertakings of Natural Language Processing. Sentiment analysis is a quick-growing investigation area in computer science. It includes a way of improvement for the collection and assessment of comments or opinions about legislation, laws, and opinions of products, and so forth, which are posted on the internet. Opinion mining analyzes the opinions given by people. In sentiment analysis, the customer feedback, review, shopping site review, online purchase reviews, politics opinions are considered for the analysis. Sentiment analysis is about detecting the emotions i.e. sad, happy, angry, excited, etc. The main objective of opinion mining is characterizing what the public think and comment. This review paper features certain discussions concerning the opinion-based classification and used approaches for the extraction of feeling assessment and opinion mining. Paper presents a comparison between different classification techniques. Applications and challenges of opinion mining are also discussed in this paper.