Robot Framework is an acceptance-driven test automation framework basically in Python (can run also on both Ironpython and Jython). Robot framework (RF) provides a lot of synergy in test automation. It makes a lot of automation processes flexible and simple. But before going further into RF architecture we have to cover its keyword-driven concept.
The best way to use Robot-framework is to use it on unix-like systems because of its pythonic origin. With the help of tools like easy-install and pip you could extend it with open-source libraries almost infinitely without any problems. This also helps a lot when it’s coming to CI systems and deployoing test libraries on the build node.
However, because of same pythonic nature this tool could be easily used on any platform where you can run python 2.7. If you think that windows based installation of robot-framework will have lack of support – blame on you. There’s a lot of platform specific librariesmodules out there. For example, AutoIt library that is windows-only GUI automation tool.
As for Robot framework drawbacks should be mentioned lack of parallel test execution, not-easy-to-customize html reports (however, there is an option to generate xUnit formatted short reports) and some skill to create own low-level libraries.
As for other pros and cons – they are pure approach ones, based on which one you would use. In Robot-framework you could use Keyword-driven approach aside with data-driven and behavior-driven ones. However, behavior ones could be described via keywords or via Given-When-Then scenarios.
Considering the approach benefits and requirements you know how to apply the method in test automation to gain value.