ROS and Gazebo (its simulator) are widely used in academia and, therefore, it’s easy to find tutorials and forums dedicated to it, as well as drivers for off the shelf components for modular robots. Additionally, some people have developed plugins for generating the required robot morphology description files from several CAD programs, which significantly simplifies using Gazebo.
Regarding platform availability, most versions of the original ROS were tied to Ubuntu, but ROS2 now supports macOS and windows as well (
https://docs.ros.org/en/foxy/Installation.html). It is also suitable for real-time applications, which was the other drawback of previous ROS versions, and in case you want something that could be run in a microcontroller, some people have made lighter version that uses a real time OS instead of a general purpose operating system (
https://micro.ros.org/)
On the other hand, LEGO Mindstorms is also a good option for learning robotics as Mechatrommer pointed, but at least in the past it wasn’t easy to find stores that sold pieces separately. Its IDE is based on Labview, but there are open source projects for using non graphical programming languages. However, it does not provide the flexibility of designing your custom PCBs and mechanical components, so if getting started with robotics is not your intention and you have a good background on mechanical design and programming I’ll use ROS (it provides more flexibility at the cost of being more complex to use)
Finally, you can always build a robot using arduinos or a single board computer (it is also possible to use a custom made pcb with any other microcontroller). In this case, you may need to program most of the drivers, but as long as no complex sensors are needed, it shouldn’t be too complex (in fact in most cases it may be easier than using ROS and you will have a deeper understanding on how actuators and sensor works, as well as a deeper control on the response delay). There’s a huge amount of information on the internet about arduinos and many tutorials and kits for using it for building robots and most of them provide easy methods for tuning the controllers without requiring to model the loop nor the kinematics (both things might require some advanced maths in some robots)