Routing table vs. Forwarding table

The routing table contains the path routing information, while the forwarding table contains the port information. The main difference between the routing and forwarding tables is that routing is used for routing the traffic, while forwarding is used for forwarding the data to the appropriate destination port. So, the Routing tables are typically stored in RAM, and forwarding tables on high-performance gear will be distributed across line cards or TCAM.

Flow table vs. Forwarding table

flow table is a broad term. A forwarding table uses IP address or MAC addresses to decide the next hop for the packet. But a flow table may use any of the information within the packet to decide the next hop for it e.g. incoming switch port, TCP port/IP address (src or dst), VLAN tag etc.