WordPress and BuddyPress both have their own template hierarchies, furthermore BuddyPress has theme compatibility for themes that don’t have explicit BuddyPress support for either BP-Legacy templates or Nouveau.
Template hierarchy in WordPress is a try and error based system which allows theme designer & developers more control over specific content types without utilising, switches, conditionals or custom logic. It’s a brilliant system and maybe in part a reason why the developer community with WordPress is so strong.
WordPress has a great templating engine, sometimes a little slow in shared server environments but generally speaking it’s robust, functional and feature rich.
BuddyPress is a plugin which adds lots of social like functionality to the front-end of your WordPress powered site. It’s a large and complicated plugin and has it’s own templating system, but worth mentioning it’s not so different to the WordPress one.
With similar naming conventions and lots of template functions building BuddyPress themes shouldn’t be an alien concept to WordPress devs.
There’s a hierarchy that exists in BuddyPress which you can get started with in a custom theme of your own by simply adding a
buddypress.php to your theme. Then you can add the bp-legacy template files as and when required to build your theme to spec.
That said, for those themes that do not have explicit support for bp-legacy or the in development bp-nouveau there is theme compatibility. This is when BuddyPress is smart enough to hook into existing files and load its own as and when required.