Bio Oil is pretty much just mineral oil (petroleum by-product) with some added essential oils (one of which you're actually supposed to avoid in pregnancy, but they concentrations aren't high so probably not worth worrying about too much unless you are sensitive to essential oils). It's not 'bad' per se, but it's nothing special either. You could get baby oil (also mineral oil, so wouldn't put it on an actual baby) and add some oils of your own and get the same stuff. There's nothing magic about it. But it is expensive.
If you find it gets too pricey for you, a base oil (sweet almond oil is great) and some added lavender or something will be cheaper and work just as well (as much as any of these oils work). Honestly, the best thing you can do is just try not to gain too much weight too quickly and keep yourself well hydrated.
I used a homemade oil (sweet almond and safflower oil with lavender and jasmine) and only got two tiny stretch marks in the very last week. But I also only gained about 15 lbs total.