I live in Birmingham. The Crewe stop is currently pretty useless going north, I'd have to arrive just before 2300 for a 2345 departure. I don't really fancy standing around in Crewe station for 45 minutes, particularly at that time of night when there's nothing to do. Whereas, a stop in Birmingham International would be so much more convenient. More trains to choose from, I don't need to waste so much time changing trains, and it's quicker in general to get there.
I've used the sleeper northbound 3 times, and each time started in London. It's easier, and better value.
Coming south, the Crewe stop is more useful in that it connects slightly better, but it is rather early. BHI will be much more convenient. And London is a no, as I'd then have to buy a peak-time ticket back to Birmingham.