Buprenorphine is a potent partial agonist that binds tightly to opiate receptors. When inducted onto buprenorphine from a full agonist (ie. heroin, oxycodone, morphine,methadone ), you need to make sure that you are in full withdrawal, and patients are often suggested to wait 24 hours until they are given buprenorphine (unless they are switching over from methadone, in which case, the patient would need to wait longer, due to the long half life of methadone). If you take buprenorphine too soon, it will knock the opiates from your last dose of heroin, and send you into precipitated withdrawal, much in the same manner as taking naltrexone or naloxone would. Buprenorphine has a cieling effect that means that increasing the dosage will only increase opioid effects up until a certain point, at which time buprenorphine reaches a plateau and doesn't have any more benefit. For this reason, boprenorphine is less a usable than a lot of full agonist opiates. At dosages of four mg and up, buprenorphine also blocks the effects of full agonists, by filling up opiate receptors and sticking to them very tightly, so when you shoot heroin, the heroin will have no where to go, as the receptors are occupied by the bupe. It also has a very long half life (~36 hours), so you only need to take it once a day, or twice a day. Buprenorphine is nice because you can get a prescription for it from a doctor with a license to prescribe suboxone, and you can give it to yourself at home, and don't need to go to a clinic every day, though I've heard that some methadone clinics are now prescribing suboxone, and patients enrolled in these clinics do have to go to a facility to get there mess. Another benefit of buprenorphine is that it us a cieling effect on respiratory depression, making it very hard to overdose on.
Methadone is a very potent full agonist, which like buprenorphine has a very long half life, and is given out once a day, at a methadone clinic (unless you are prescribed it for pain). Because it has a very long half life, and is very potent, methadone stacks up in your system, and at a high enough dosage, it blocks other opiates and opioids by saturating the opiate receptors in the brain, to the point where nothing, not even more methadone will get you high. It essentially raises your tolerance, and that is what blocks the other opiates. (kind of like how when your shooting heroin, you will not be able to feel the effects of a drug like codiene, but to a much greater effect). While taking more opiates will not get you high, it can still cause respiratory depression. Mixing methadone with benzodiazepines like Xanax or temazepam can be very dangerous. When getting on methadone maintenance, it can take a few days for the methadone levels in your body to level out, so you might still feel withdrawal symptoms the first week or two on maintenance, and you're dosage can be adjusted accordingly. At methadone clinics you have to submit urine tests, and the only way to get take homes is to not come up positive (though you will always be given a Sunday take home)
Both drugs have there pros and cons, but if you've only been using heroin a total of four months, it's probably best to try and detox using one of these drugs, but not resorting to maintenance. I you're cravings become to intolerable, than I would suggest trying out suboxone first.