Your flow diagram is correct as far as the process flow.
iRule = An iRule allows you to manipulate the incoming traffic in many different ways. There is an entire sub-section of this site dedicated to the sharing and development of different things that everyone has done and want to do with them.
Data Groups = Data Groups can be useful when writing iRules. A data group is simply a group of related elements, such as a set of IP addresses, URI paths, or document extensions. When used in conjuction with the matchclass or findclass commands, you eliminate the need to list multiple values as arguments in an iRule expression. (This was a description that Joe gave (the article is for Data Groups with Power Shell, but the premise is the same everywhere else): http://devcentral.f5.com/Tutorials/TechTips/tabid/63/articleType/ArticleView/articleId/204/iControl-101--13--Data-Groups.aspx)
Pools = A collection of devices (normally servers) where traffic from a Virtual Server are routed. You can make these logical groups according to function / farms of servers serving the same content.
I apologize if my descriptions seem vague, but the possibilities of what you can do with each of these are pretty broad.
If you have any specific questions about any of them or how to use them we can certainly point you in the right direction.