My experience has been the Bus Pirate is good for ad-hoc sending/receiving data over various protocols when you are working at the level of single recieve/response commands (i.e. you have a data sheet for a part and want to test it out). full-on logic analyzers or USB analyzers are nicer for capturing an entire conversation or trying to understand how data flows relate to each other.