[Samsung Galaxy Nexus] beekay201:
Let's see then. Be prepared to spend at least 30min reading, and re-reading, until you actually feel comfortable in what you're doing/typing in. If you're not sure about the technical terms and what lies behind them, read this thread's #1 First Post.

What's your device variant? maguro? toro? toroplus? This will tell which factory image you need to flash.

You need to flash latest factory image, which is (for maguro variant) Android Build 4.3 (JWR66Y). Read #1 First Post on this thread. And I mean, READ IT! Do not do anything else to your device until you do.

After you flash the factory image, that first boot will take a while to reach Android. Chill out. Go get yourself a drink. Take your time. It should have booted into Android already when you get back. It should be fine, but if not, you need to enable USB debugging under Settings > Developer Options, to check the system log.

If after 15min, it still has booted yet, pull the battery out, wait a few secs, put it back in.

Use the 3bc (3-button combo) to reach fastboot mode again. Flash a custom recovery. That's done by downloading the latest TWRP or CWM (i'll leave that choice up to you, be mindful that you might wanna try them both in the future), and running on the host (the PC):

fastboot flash recovery recovery_filename_here.img

Don't reboot the device. Use the volume keys to "Reboot to recovery" straight from fastboot. After a few seconds, you should be seeing the custom recovery you've flashed with the fastboot command above.

Now comes the part where ADB is required. I hope you've already read the answers to questions "Where do I get the driver for my PC?" and "Why do I need to install the driver twice?". If not, read them now. Also, read "What is ADB?". TIP: When a custom recovery is actually running on the device, ADB mode is already active by default, so when hooking up to the pc the device will show as an ADB interface, so installing the driver (if needed/not done yet) is piece of cake.

After you get ADB to recognize your device (like, you see your device's SN on the output of command `adb devices`).. You need to copy a custom ROM to your device, and flash it. That will get you, most likely than not, Android's USB debugging by default (read answer to "What is an insecure boot image?" on the first link), and that will allow you to see the system log, WHILE Android is booting up. Why do we wanna do this? Cos we want to see if any errors show up, something that may tell us what's failing.

When choosing a ROM from the Android Development section, ask around in the thread if the ROM has USB debugging enabled by default.

Read "What are the ADB commands?" in the thread I first linked to. You'll need to learn at least `adb push` for now.

Once you get the ROM in your /sdcard/ or whatever folder you like, disconnect the USB cable, wipe data/factory reset, then install zip from sdcard (that zip you pushed before).. Forget about gapps for now.

Connect the usb cable, reboot, and once you see padlock screen go away, start trying to run `adb devices`. Do you see your SN in the output? Once you see it, good, it already connected to adb on the device. Run `adb logcat` and try to look out for errors. Logcat is the system log.

To know how to grab that output to a text file so that you can share it with us.. Google it, my fingers hurt.