I'd like to know the difference between a library and an engine. I've searched some information and if I'm not wrong, an engine gives you more options and makes work easier than a library.
An engine can help you for example handling user input or handling collisions but I don't know how. I mean I've been using SFML and it has a function that detects collision between two rectangles. You can handle user input too.
How does an engine work? In what ways handling collisions for example is easier with an engine than with a library?