[Android Q&A, Help & Troubleshooting] adamwestca:
Here are the steps to follow that worked for me to obtain Root on my Samsung SM-J120W Android 6.0.1 which I bought outright from Wind Mobile Canada. This method seems to work for other providers as well, but has not been tested by me. However, others in this thread have since rooted with Chatr (Rogers) and Koodo (Telus). This is great news!

Proceed at your OWN RISK. If you are successful, or successful rooting the SM-J120W that is with a provider other than Wind Mobile Canada, please post it here so others know!

In preparation for this process I performed a Software Update within Android, prior to rooting to ensure that I had the most up to date Android version available. From previous experience, I would suggest that you do not perform a Software update after rooting as it may remove root.

With respect to compatibility, on my phone under Settings > About device > Software info, the Baseband version of my phone, after ensuring the most recent update, was J120WVLU2AQA1 with Build number MMB29K.J120WVLU2AQA1 and Android security patch level January 1, 2017. These versions should match before you continue. To perform an OTA Software Update, on your phone Enable Wi-Fi then navigate to Settings > About Device > Download updates manually, then follow the instructions.

I used a Windows PC to interface with my Android. I have included a link below to a zip of all the files you will need in my Google Drive.

You should have some experience with Android recovery environments / flashing prior to proceeding at your OWN RISK. I will not be held liable for any damages related to this method.

Having said that, let's begin!

1. Download this zip archive from my Google Drive to your PC https://drive.google.com/open?id=0B1iPMyk4G2_-a0ZENXVETjNPT1E.

2. Extract Samsung SM-J120W Rooting Files.zip to your PC, then follow the instructions below on file usage for the files extracted from within.

3. Copy SR1-SuperSU-v2.78-SR1-20160915123031.zip from your PC to your phones internal storage.

4. Install Samsung USB Drivers SAMSUNG_USB_Driver_for_Mobile_Phones_1.5.61.0.exe on your PC.

5. Extract Odin_3.12.3.zip to your PC.

6. On your phone, Open Settings > Developer options > Enable OEM unlock and Enable USB debugging.

* If under Settings there is no Developer options menu, tap About device > Software info > then tap Build number 7 times which will enable Developer options in the Settings menu.

* I was asked for a PIN for OEM unlock, it was my lock screen PIN.

7. Power off your phone. Remove the back cover from your phone. Connect your phone to your PC with a USB data cable. Power on your phone in Download Mode. (Press and hold Vol Down + Home + Power until you are presented with a warning regarding a custom OS). Press Vol Up to continue. You should now see ODIN MODE in red text at the top of the screen and a "Downloading... Do no turn off target" message.

8. On your PC, run Odin by opening Odin3_v3.12.3.exe. Under ID:COM the background should have turned blue. Under Log it should say Added!! Under Options, uncheck Auto Reboot and check F. Reset Time if it is not already checked. Click AP and select the twrp-3.0.2-0-b2-j1xlte.tar.md5 file in the Open dialog. Click Start.

9. Once Odin indicates PASS! in green at the top, flashing is complete. Now remove the battery from your phone. Unplug the USB data cable from your phone. Your phone will now be completely off. Click Exit to close the Odin program.

10. Replace the battery and back cover. Power on your phone in Recovery Mode. (Press and hold Vol Up + Home + Power until you see the blue TEAMWIN logo splash screen).

11. Now that you're in the TWRP Recovery environment, it should say Unmodified System Partition at the top. Tap Never show this screen during boot again, then Swipe at the bottom to Allow Modifications.

12. Tap Install, browse to & select the SR1-SuperSU-v2.78-SR1-20160915123031.zip file you copied to the Internal Storage in Step 3. Tap Reboot after installation is complete, then Swipe at the bottom to confirm Flash.

13. Your phone should boot normally into Android with SuperSU installed in your apps. Configure SuperSU to your liking and test for root by installing a Root Checker app if you wish.

* First boot after rooting may take a few minutes. It can also boot loop a few times. When I performed this on my phone, it did take a little while longer to boot than usual, but I didn't experience any boot loops and all went well.

* I have noticed that some "older" apps that require root, complain I am not rooted. For example, in the past on other phones, with earlier Android Versions, I have used ROM Toolbox Pro to overclock my CPU when rooted; and it no longer works with Android 6 MM. I suspect that the behaviour of Rooted Android 6 MM is a bit different than previous builds. I now use Kernel Adiutor (ROOT) and that works fine for overclocking and doesn't complain about not being rooted. Other newer apps that require root like Root Explorer, AdAway, Busybox Installer, Trimmer (fstrim) all work great!

Please share your experience or comments and suggestions related to this guide!

Updated Sep 13 2017 - Thank you to everyone for your feedback and suggestions.