Umbrello is an open-source UML modeling tool that excels in code generation and is suitable for small to medium projects. In contrast, Modelio offers a broader range of features including database modeling and collaboration tools, making it ideal for larger and more complex projects.