Using the same exact SD Card and USB stick with the newest version of Raspbian I have one Raspberry pi 3B+ that will only Flash 4 times when trying to boot and no rainbow screen, where as with another IDENTICAL Setup that System boots fine. Suggestions to what is wrong with the 'broken' pi and ways to fix. EDIT (So I dont understand why this is marked duplicate all linked Questions reference a single failure regarding the SD Card my Question is I have two Raspberry pis one works with an SD Card and Usb to boot while the other does not with the same Setup so the SD Card and Usb are not the Problem what is?)
Two identical Rpi3B+ setups, "good" setup boots SD Card OK. The "bad" setup can only start booting to 4 green LED blinks, then stops.
I suspected your PSU is marginal, and when booting, drops to a low voltage much below 5V, and so any weird thing can happen.
So I tried using a adjustable PSU and see if Rpi can boot at a voltage as low as 4V. My PSU is has a huge 10,000 uF (yes, 10,000 uF!) bypass capacitor, so there should be almost no glitches or blinking when booting. I also checked with my 3.5 digit DVM to make sure the voltage very near Rpi micro USD connector is almost the same as the PSU.
I surprising found that Rpi3B+ can boot a stretch 9.8 SD card at 4V (I think there should every little chance that your official PSU blinks below 3V3), though with yellow lightning warning and text message saying low voltage etc.
My conclusion is that my guess was wrong. Even if your PSU drops to as low as 4V, Rpi's on board LDO regulator can very forgivingly accept and boots to the end with the welcome screen!
Any brain storming suggestions welcome.
Update 2019mayhkt1425 - Recommendation to use 16GB cards
A couple of years ago, 4GB SD card was "fast", expensive but most cost effective, so I bought 4GB to install Rpi Debian then, which was 2GB.
But now it is not a good idea even to buy 8GB SD cards, because they are usually very slow, comparing with 16GB cards. So I have upgraded to 16GB which I think it is most cost effective now (2019).
And as Raspbian stretch 2019apr full version image is "only" 5GB, so I guess there is plenty of space for a hobbyist programmer like me. I have been doing Micky Mouse projects for a couple of years, and all the python programs added up to only a couple of hundred MB.
I am using Rpi3B+ and I think there is almost no speed difference if I have biggest or smallest version, if I used a 16GB SD card.
To summarize, I don't bother to consider which is the best size of SD card. I think 16GB card installing the biggest Raspbian stretch version is best for a hobbyist python programmer like me.
I also keep a record of the SD card speed/price and serial numbers (in case I need to complain or ask for replacement. You might like to see my 2019 record.
Appendix A - Why 16GB card is "better" that 8GB?
I am 100% sure that your two "identical" Rpi setups are not truely identical. Even if you have only one Rpi, your Rpi setup yesterday is not identical to your setup today.
The problem now is to find out which part or parts of two seemingly identical Rpi setups are not identical.
There are 101 possibilities that make two Rpi setups not identical. Let me list one by one.
Perhaps one Rpi has "bright" eyes than another. So even if the SD card has very slightly "blurred" characters, the bright eye guy can detect that a blurred character looking like big "C" is indeed a big "G". The poor dim eye guy cannot notice anything, and happily reads on, ...
Now the Windows Image guy writes characters on the piece of "paper" stuck on the SD card. The 16GB card has a piece of paper not too much bigger in size than the 8GB one. So the WinImg guy writes smaller characters on 16GB paper, and bigger characters on 8B paper.
The result is that big characters even blurred, can be easier detected by whether bright or dim eyes.
Conclusion: 16GB is better than 32GB.
Actually there is also a couple of other reasons why 16GB is better than 8GB. In other words, 16 going on 17 is the most beautiful among 3 sisters, ...