[uml] What's is the difference between include and extend in use case diagram?

"Include" is used to extend the base use case and it is a must condition i.e. included use case run must run successfully to complete base use.

e.g. Consider a case of Email Service, here "Login" is a included use case which must be run in order to send a Email (Base use case)

"Exclude" on the other hand is optional use case which extends the base use case, base use case can run successfully even without invoking/calling the extending use case.

e.g. Consider "Laptop Purchase" as base use case and "Additional Warranty" as extending use case, here you can run base use case "Laptop Purchase" even without taking additional warranty.