mining nodes validate the transactions they receive, and collate them into blocks. they then create an identifier of the collated block, and send that to a bunch of ASIC machines which then make a more secured, harder to break identifier for the block.
the block with this strong identifier is sent out to the network.
the network then validate it all and if all is good, the network(non mining nodes) retain that block and also relay it on.
if a node (mining or not) was to send a bad block to another node it would get rejected
the nodes that retain the block(a good honest list of blocks that all meet the rules.) would if all nodes done the same find that all their identifiers match, making it easier and non-controversial for new blocks to be added on. as new blocks also contain identifiers of the previous block. thus making a chain of blocks that continually grow, because everyones list of blocks match
the symbiosis:
mining nodes validate and collate data into blocks. but non mining nodes validate and retain good list of blocks.
if blocks are bad then a miner will find their block is not in the list, and as such merchants/exchanges/shops/services wont see their block and thus the miners cant spend the rewards with said merchant.
its not a non mining vs mining node debate many should concern themselves about. because they are both symbiotic and rely on each other.
mining nodes make the blocks. non-mining nodes view whats in a block to know funds have moved/spent/spendable
the real debate is about merchant/service nodes(non mining) being more important than home user nodes(non mining), on the bases that:
miners dont really spend funds to home users. so miners dont care to send blocks to home users
merchant nodes usually have business rated internet and NEED to monitor/view hundreds of payments a day.
home users only care about 1-2 a day, and usually only have home rated internet
thus home users requirement to:
validate thousands of tx a block is not personally something they NEED
retain thousands of tx a block is not personally something they NEED
and with home rated internet. if they did set node connections to 10-100 would find the bandwidth used to be a seed for others is not something that is a benefit to anyone on the sending or receiving side
imagine a home user with 5mb connection but 100 nodes connected.. thats 0.05mb per node (sending ~1.2mb 100x)
imagine a home user with 5mb connection but 2 nodes.. thats 2.5mb per node(sending 1.2mb 2x)
the second option is better for home user as the block is sent in seconds to just 2 users meaning speedy. also its only 2.4mb total instead of 120mb total.
now imagine it from the receiver side.. imagine a merchant was connected to a home node. the merchant wont want to get data at 0.05mb speed they would prefer 2.5mb speed
so not only will the home user benefit by lowering nodes connected but also the people on the other end would benefit too
its far better that a home user only connects to 1-2 nodes for own benefit and have just enough for own NEED, and let the merchants that have a higher NEED do the higher node connected higher bandwidth/sped connections. as they NEED it more