What are the differences between linear and classification techniques in machine learning?

I am currently exploring machine learning, and I am curious about the differences between linear and classification techniques. Can you explain the key differences between these two techniques? When should one be used over the other? Are there any specific use cases where one technique is better suited? Can you provide an example of each technique in Python and how to evaluate their performance?

I have loaded the Iris dataset from scikit-learn and I want to use it for my comparison.