PBR can be used to match a specific flow and then apply some QOS policies on it, for example you can mark the packets or route the traffic to special optimized or dedicated connections to handle this traffic type.
For example you may have two internet connections, one for normal internet traffic [FTP, HTTP, downloads] and another one for critical applications (stock tickers) or to be restricted only for use by the managers and critical departments.
In short PBR can be used to classify traffic based on extended ACLs, set IP precedence value or route traffic to dedicated traffic engineered connections.
Route maps can be used as follows:
Route-map QOS permit 10
Match [ip address | length]
Set [ip precedence | ip next-hop | set interface]
In the match statement you can match any standard or extended access-list, or match packs with an exact or ranged length.
Extended access-lists allows you to match specific flows, for example you can match only email traffic sourced from customer service department and give them some priority over normal emails from other departments.
The set statements can be used to set the IP precedent value to mark packages for use by other QOS tools and / or within your ISP's core to implement a contracted policy. Set interface and next-hop statements can be used to override normal forwarding for this specific flow.
Finally, apply the route-map under the input interface using the command ip policy route-map QOS.
Hope that was useful for all of you and thanks for reading.