What is Surface Automation?
Surface automation typically means visual automation using screenshots, image recognition and often also OCR. In other words, you stay on the surface as opposed to using application-specific APIs and hooks.
What are Surface Automation techniques?
Visual automation using screenshots
How does surface automation help in automating flash objects used on a website?
They work on the visual, rendered UI in the web browser. This makes the automation very fast to learn and easy to use. The downside of this approach is that these tools can only automate what a manual tester can do, and not call Flash objects directly. So the other test automation approach is to work with the Flash objects directly, like, for example, SmartBear does.
The downside here is that object-level testing is significantly more complex to set up. Which one is better? That depends on your use case and what exactly you need to test.