Selenium provides comprehensive low-level functionality for interacting with browsers and web elements. Beyond test implementation, additional tasks are required when it comes to management, such as test data management, result analysis, execution management, as well as the continuous adaptation of the test cases.
When I started at my current employer five years ago the CI system consisted of an outdated Jenkins installation on a PC which was located under the desk of a developer. Builds were triggered three times a day, so a developer had to wait multiple hours after a commit until the feedback arrived. The builds couldn’t be reproduced locally, so debugging was at times done via console logging on the CI system.