I am new to SXA and am looking for guidelines and best practices on when to use "SXA components" and when use "custom components".
Based on my understanding at this point in time, I think that we should use out of the box SXA components which typically doesn’t change much from one site to the other. For example, components such as header, footer, banner, navigation, spotlight etc. As such, I believe these components are right candidates for SXA, because the equivalent components from the SXA library (toolbox) could be a good fit in this case, some of it may have variations as well in the library. So we can use it without doing any customization at the component level, maybe just by adding some styling.
However, when it comes to components such as a "360 view of a product", "multi step quiz component", "multi-product feature comparison component", "testimonial component with multi-user image scroll having a video player" etc. then nothing is directly available out of the box in SXA. My understanding is that I should instead consider creating a custom component rather trying to extend existing SXA components because the effort required to extend one or more components could be same as creating a new custom component.
Are there official guidelines for selecting between rendering variants and custom components, and when to extend an existing or create something completely new from scratch?