Bootstrap is hiding content that, for example, you don't want to show on the mobile. This means that server process and renders that content, but you hide it with CSS.
Device profiles allows you to avoid processing and rendering of unnecessary content, so you page comes from server without that content.
However Bootstrap is looking only for screen resolution, meanwhile device profiles does some extra work trying to figure out the device (iPhone, Samsung,...) using third party.
I'd use Bootstrap approach unless there is huge difference in desktop vs. mobile version of the page.