I haven't really been on a coach in a while (last time I used a scheduled coach service was back in 2010 on a National Express from Stansted to Heathrow and I was only a kid back then) but, since the quality of the coaches (based on what I heard from others) is all down to personal preference, which company is better really depends on where you are travelling to! Where do NatEx and Megabus stop in the towns/cities you plan to travel between? How convenient is the location of the stop/station (city centre or out of town)? Is it a proper bus station with waiting facilities and information or just a simple kerbside stop that may not even have a shelter? It's all down to the city you're travelling to/from!
For some cities like Birmingham, Manchester, Newcastle, Southampton, etc. National Express often have their own coach stations in a certain part of the city centre which would have variable facilities depending on the city (for example, Birmingham and Manchester are very good, while the ones in Newcastle and Southampton are considerably smaller with less facilities) and would often have a live departure board! Many times, they may use the main bus station of the city shared with local buses, as is the case with cities like Bristol and Bath!
For Megabus, it is much more variable as sometimes, it may just be a simple bus stop in the city centre with minimal facilities (maybe not even any shelter or seats) which is the case with Birmingham (worst stop but best location), Bristol and Newcastle; other times it actually stops at a decent bus station like Shudehill in Manchester which as well as being a proper terminal building with waiting facilities and connections with local buses, is located next to Arndale Centre and the Printworks (perfect for shoppers), has its own tram stop and is within close proximity to Victoria railway staton but on the other hand, lacks live information screens! However, Megabus may stop outside the city in some cases like Sheffield, where they use Meadowhall Interchange! Finally, there are many cities where Megabus share the same station as NatEx, notably the (in)famous Victoria coach station in London, but also cities with large bus stations such as Preston, Glasgow, Leeds, Hull and Swansea!
Obviously, if you're travelling to/from (say) London, Leeds or Glasgow it doesn't matter which coach you take, it's all down to personal preference, availability and fares for the time you want to travel! However, sometimes if NatEx and Megabus stop in different locations, as is the case with Manchester, it's about which location you prefer: The NatEx coach station is closer to Piccadilly and the University and has Transdev bus connection across the road, while Shudehill (Megabus) is closer to Victoria, has Metroshuttle and tram connections to both major railway stations and more suited for the shoppers!
Sometimes, the stopping location may be an easy choice, as is the case for Cardiff which, since the demolition of its old bus station and numerous delays in building the new one, the temporary National Express "station" has very little in terms of waiting facilities or even shelters, being a simple parking area in the middle of a park which is a horrible location, being a mile away from the city centre or even any local bus connections meaning you would either have to walk for ages or get an expensive taxi with no other alternative! I've read many reviews and people actually get a bad impression of Wales as a consequence! On the other hand, the Megabus stop for Cardiff is much better even though it is just a bus shelter on a slip road since it is actually in the city centre (only just) with local bus connections just around the corner and much closer to the main parts of the city! You all know which I'd rather take to travel to Cardiff!
Fare-wise, even though Megabus fares can be as low as £1, these are often quite hard to find for most routes (usually not for your desired time either) and you normally have to look at least 2 months in advance. Normally, if you just book a week or two in advance, NatEx and Megabus fares will generally be almost the same, with Megabus usually being only slightly cheaper. Sometimes, NatEx fares can actually be cheaper than Megabus, especially the Manchester to Birmingham corridor close to the day of travel (for example) as NatEx fares tend to stay at around £5 between these cities, even on the day, but Megabus fares often go even higher up to £10 each way! Also consider NatEx if travelling from London to any Great Western destination such as Bristol, South Wales (not Cardiff though, as explained in the previous paragraph, at least until 2020 whenever they finally open their new bus station) or Plymouth as fares on these routes start at £2.40, even services out of Heathrow Airport, which is normally more expensive on NatEx!
The above information is based on my research by checking bookings between various locations on the National Express and Megabus websites, having a thorough look around Google Maps (as well as seeing pictures on street view and reading reviews) and actually visiting some of these bus and coach stations myself such as Manchester and Leeds!